首页 > 解决方案 > 数据表导出Excel,根据内容自定义行高

问题描述

我有一个在 excel 中导出的数据表。每个 html 单元格都有一些换行符(使用 br、p 或 div),因此我在 excel 中的导出需要剥离所有标签以与 excel 格式兼容,但保留换行符。经过数据表用户的一些研究和帮助,我得到了这个好结果:

https://jsfiddle.net/jx9hom27/4/

现在我的问题是设置每行的高度以显示其中的所有文本。实际上我的高度硬编码值为 60,但它必须根据行的内容计算。

我的想法是获取splitData数组的大小:计数是行数。 最大值(对于每一行)必须乘以一个成本常数(可能是 30)才能得到最终结果以应用于整行。

问题是 splitData 变量在为 excel 设置样式的函数之外......我该如何解决这个问题?

设置行高的代码是:

    $('row:nth-child('+( firstExcelRow + rowLoop )+')', sheet).attr('ht', 60);
    $('row:nth-child('+( firstExcelRow + rowLoop )+')', sheet).attr('customHeight', 1);

标签: javascriptdatatables

解决方案


自己回答。这是一个工作小提琴:https ://jsfiddle.net/jx9hom27/5/

在整个字符串内计数",然后除以 2。然后为每一行建立找到的最大值并将其用作高度

      var countLines = ($('is t', this).text().match(/\"/g) || []).length / 2;

推荐阅读