jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 仅导出单个标题行的TableTools大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 DataTables jquery plugin

我有一个DataTable,它有多行表头和colspan.
就像是:

<thead>
  <tr>
    <th>Level 1</th>
    <th colspan='2'>Level 1 - Item 1</th>
    <th colspan='2'>Level 1 - Item 2</th>
  </tr>
  <tr>
    <th>Level 2</th>
    <th>Level 2 - Item 1a</th>
    <th>Level 2 - Item 1b</th>
    <th>Level 2 - Item 2a</th>
    <th>Level 2 - Item 2b</th>
  </tr>
</thead>

但是当我使用TableTools插件导出时,除了“打印”选项之外,其余所有(Excel,CSV,Pdf等)只有“Level 2”标题行而不是Level 1.

有关如何将其输出的任何建议也是1级?

@L_696_6@

如果你想将level1也导出为ex​​cel,还有另一种方法

将rowspan / colspan替换为空单元格,如:

<thead>
      <tr>
        <th>Level 1</th>
        <th>Level 1 - Item 1</th>
        <th></th>
        <th>Level 1 - Item 2</th>
        <th></th>
      </tr>
      <tr>
        <th>Level 2</th>
        <th>Level 2 - Item 1a</th>
        <th>Level 2 - Item 1b</th>
        <th>Level 2 - Item 2a</th>
        <th>Level 2 - Item 2b</th>
      </tr>
    </thead>

然后按照上面@misiu的建议,编辑TableTools.js.
找到_fnGetDataTablesData并在其中更改:

if (oConfig.bHeader) { ... }

用这个

if (oConfig.bHeader) {
    //another loop
    for (i = 0,rowCount = dt.nTHead.rows.length; i < rowCount; i++) {
        aRow = []; //clear row data
        for (j = 0,iLen = dt.aocolumns.length; j < iLen; j++) {
            if (acolumnsInc[j] && dt.nTHead.rows[i].children[j] !== null) {
                sLooPDAta = dt.nTHead.rows[i].children[j].innerHTMl.replace(/\n/g," ")
                    .replace(/<.*?>/g,"")
                    .replace(/^\s+|\s+$/g,"");
                sLooPDAta = this._fnHtmlDecode(sLooPDAta);
                aRow.push(this._fnBoundData(sLooPDAta,oConfig.sFieldBoundary,regeX));
            } else {
                aRow.push(this._fnBoundData("",regeX)); //I'm not shure of this!!
            }
        }
        aData.push(aRow.join(oConfig.sFieldSeperator));
    }
}

这会将复杂的标头复制/导出到csv / excel.然空表格单元格在excel中保持为空,但不会合并.您可以手动合并它们.

然不是一个理想的解决方案,但现在这对我来说非常合适.

大佬总结

以上是大佬教程为你收集整理的jquery – 仅导出单个标题行的TableTools全部内容,希望文章能够帮你解决jquery – 仅导出单个标题行的TableTools所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。