You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置DataTable打印时标题居中并添加打印时间?

实现DataTable打印标题居中并添加打印时间

没问题,咱们直接修改你现有代码里的customize回调函数就能搞定这两个需求,具体调整如下:

1. 让打印标题居中

打印时的标题默认是左对齐的,我们可以在customize里找到标题对应的<h1>标签,给它设置text-align: center样式。

2. 添加打印时间

我们可以创建一个新的元素,把当前格式化后的时间插入进去,然后添加到打印文档的body里,放在标题下方、表格上方,保持排版协调。

完整修改后的代码

$('#basic-datatable').DataTable({
  dom: 'Bfrtip',
  buttons: [
    'excel',
    {
      extend: 'print',
      title: "demo title",
      customize: function (win) {
        // 原有的全局字体和表格样式调整
        $(win.document.body).css('font-size', '9px');
        $(win.document.body).find('table')
          .addClass('compact')
          .css('font-size', 'inherit');
        
        // 设置打印标题居中
        $(win.document.body).find('h1').css('text-align', 'center');
        
        // 添加格式化的打印时间
        const printTime = new Date().toLocaleString(); // 生成本地友好格式的时间
        const timeElement = `<p style="text-align:center; margin:10px 0; font-size:inherit;">打印时间: ${printTime}</p>`;
        // 把时间元素插入到标题之后
        $(win.document.body).find('h1').after(timeElement);
      }
    }
  ]
});

关键细节说明

  • 标题居中:通过find('h1')定位到DataTable打印自动生成的标题标签,直接设置居中样式即可。
  • 打印时间:用toLocaleString()生成适配本地的时间格式(比如中文环境会显示YYYY/MM/DD HH:mm:ss),然后创建一个带居中样式的段落元素,插入到标题下方,和标题排版保持一致。

这样打印出来的内容就会有居中的标题,下方还会显示清晰的打印时间啦~

内容的提问来源于stack exchange,提问作者Kishan Bundel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:28:01