DY_simple 2022-03-15 21:33 采纳率: 100%
浏览 368
已结题

在使用ag-grid自带的exportDataAsExcel导出excel方法时,数字或文本数字过大时导出后就成了科学计数,有什么办法解决么

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-03-15 23:01
    关注

    用js-xlsx来实现保存,需要自己获取表格的数据源后,将行中的数字转为字符串,目测ag-grid导出的列类型是数字类型的,而不是字符串导致设置列为数字,太大变科学计数法了。js-xlsx则不会,根据传入的类型设置Excel单元格的对应类型,不会转科学计数法
    简单示例如下

    img

    <!DOCTYPE html>
    <!-- (C) 2013-present  SheetJS http://sheetjs.com -->
    <!-- vim: set ts=2: -->
    <html>
    <head>
        <title>SheetJS JS-XLSX In-Browser Write Demo</title>
        <meta charset="utf-8" />
    </head>
    <body>
        <script type="text/javascript" src="https://unpkg.com/xlsx/dist/shim.min.js"></script>
        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js"></script>
    
        <script>
            /* original data */
            var filename = "write.xlsx";
            var data = [['001', 11111112003, '11111112003'], ['002','11111112003', 11111112003], ["foo", "bar", new Date("2014-02-19T14:30Z"), "0.3"], ["baz", null, "qux"]]
            var ws_name = "SheetJS";
    
            if (typeof console !== 'undefined') console.log(new Date());
            var wb = XLSX.utils.book_new(), ws = XLSX.utils.aoa_to_sheet(data);
    
            /* add worksheet to workbook */
            XLSX.utils.book_append_sheet(wb, ws, ws_name);
    
            /* write workbook */
            if (typeof console !== 'undefined') console.log(new Date());
            XLSX.writeFile(wb, filename);
            if (typeof console !== 'undefined') console.log(new Date());
        </script>
    </body>
    </html>
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月15日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器