为了账号安全,请及时绑定邮箱和手机立即绑定

停止 table2excel 在导出的 excel 中将比率值(如 50:10)视为时间

停止 table2excel 在导出的 excel 中将比率值(如 50:10)视为时间

千巷猫影 2023-02-24 17:50:49
我有一个 html 表,其中包含一些列值作为字符串以及比率数字 (50:10、60:30)我的问题是当我使用 table2excel 导出它时,一些比率值被视为时间。见下图:我的出口代码:$("#pat_inj_table").table2excel({    name: "Report",    filename: name,});我在table2excel文档中找到了这段代码,我认为它对解决我的问题很有用:Table2Excel.extend((cell, cellText) => {  // {HTMLTableCellElement} cell - The current cell.  // {string} cellText - The inner text of the current cell.  // cell should be described by this type handler  if (selector) return {    t: ...,    v: ...,  };  // skip and run next handler  return null;});但我不知道如何使用上面的代码。
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

有两种方法可以识别处理程序中的单元格。


在每个单元格上添加属性(例如,<td type="string">10:20</td>)并根据该属性识别数据

Table2Excel.extend((cell, cellText) => {

  return $(cell).attr('type') == 'string' ? {

    t: 's',

    v: cellText

  } : null;

});

var table2excel = new Table2Excel({

  defaultFileName: "myFile"

});

table2excel.export($(".table"));

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script type="text/javascript" src="https://rusty1s.github.io/table2excel/dist/table2excel.js"></script>

<table class="table" excel-name="excel-name">

  <thead>

    <tr>

      <th>#</th>

      <th>Column heading</th>

      <th>Column heading</th>

      <th>Column heading</th>

    </tr>

  </thead>

  <tbody>

    <tr class="active">

      <td>1</td>

      <td type="string">10:20</td>

      <td>Column content</td>

      <td>Column content</td>

    </tr>

  </tbody>

</table>

使用正则表达式解析已知格式的数据并使用它来识别单元格

Table2Excel.extend((cell, cellText) => {

  return cellText && /\d+:\d+/gi.test(cellText) ? { t: 's', v: cellText } : null;

});

var table2excel = new Table2Excel({

  defaultFileName: "myFile"

});

table2excel.export($(".table"));

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script type="text/javascript" src="https://rusty1s.github.io/table2excel/dist/table2excel.js"></script>

<table class="table" excel-name="excel-name">

  <thead>

    <tr>

      <th>#</th>

      <th>Column heading</th>

      <th>Column heading</th>

      <th>Column heading</th>

    </tr>

  </thead>

  <tbody>

    <tr class="active">

      <td>1</td>

      <td type="string">10:20</td>

      <td>Column content</td>

      <td>Column content</td>

    </tr>

  </tbody>

</table>

看看这个jsFiddle 演示。



查看完整回答
反对 回复 2023-02-24
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信