zoukankan      html  css  js  c++  java
  • 前端 sheetjs 导出 excel 设置百分比格式

    概述

    前端导出 excel 文件常用的库是 sheetjs。今天 PM 提了一个需求就是所有的数字都使用数字格式,特别是百分比也使用数字格式。我想了很久终于解决了,记录下来,供以后开发时参考,相信对其它人也有用。

    问题

    通过查看 sheetjs的官方文档,我们可以发现,它支持这几种导出格式:Boolean、Error、Number、Date、Text、Stub,里面没有百分比格式,怎么办呢?

    方法就是使用格式化为 0.00% 的数字格式,其中后面2个0是自定义2个小数位,可以多加或者少加。

    源码

    Show me the code:

    const workbook = XLSX.utils.book_new();
    const sheet = XLSX.utils.json_to_sheet(data);
    Object.keys(sheet).forEach((item) => {
        const cell = sheet[item];
        const value = cell.v;
        if (cell.t === 's' && value.indexOf('%') > -1) {
            cell.z = '0.00%';
            cell.t = 'n';
            cell.v = Number(value.substring(0, value.length - 1)) / 100;
        }
    });
    XLSX.utils.book_append_sheet(workbook, sheet, 'Sheet1');
    XLSX.writeFile(workbook, filename);
    

    题外话

    • 这个库真的很强大,还可以自定义很多其他的东西。
    • 安利一下我自己写的 excel 导出库download-excel
  • 相关阅读:
    第二次作业
    初学JAVA的 感想 尹鑫磊
    初学JAVA 感想
    《将博客搬至CSDN》
    JAVA中的几种内部类
    JAVA-静态变量与实体变量
    teacher页面的代码
    测试说明书的概述和摘要
    网站的概述
    html与xhtml的区别
  • 原文地址:https://www.cnblogs.com/yangzhou33/p/12484271.html
Copyright © 2011-2022 走看看