npm install xlsx 前端导出Excel

5 篇文章 0 订阅
2 篇文章 0 订阅

前言: 博主后端java 出身,关于导出excel文件,后端可以使用 POI 或者阿里模板 EasyPOI来实现。没想到js 通过插件也能实现同样的功能!

背景: 早上打卡后,博主准备划水时,老大突然叫我去看一个问题(苦逼。。)。 老大说线上导出excel文件发现 不能使用SUM()函数。让我看一下是什么原因。所以就有了这篇文章。 

博主根据excel 大致推测时 不能使用sum函数的这列应该时,cell 格式应该不对,Excel没法识别。所以楼主正准备 去后台开始扒拉代码。 找了好久,tmd 咋没有POI 相关的类。

没办法,又打开了前端代码。 F12 追踪后,发现导出 excel 功能是一个 js 文件。我擦勒。这么nb!

一番研究过后(百度、谷歌之后)。才发现,原来 js 有个 插件可以实现文件导出,厉害厉害。

插件安装:

npm install xlsx

大概是这个东东。但是问题又来了,这js怎么操作cell 修改样式啊!怎么没有cell 相关的概念,头大啊。。。。

  ?,继续百度之。。 发现写法都一样啊,但是没出现我们老大的问题?还是他们不用sum() 函数。。。苦逼

 换成google 继续。 最后发现有一个解决方案!看着靠谱 叫sheetjs 的玩意!链接:http://sheetjs.com/demos/table.html

可以实现我的需求!

 继续百度sheetjs 。 下面是 真正的解决方案!

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js"></script>
</head>

<body>
<button onclick="downloadExl(jsono)">导出</button>
<script type="text/javascript">
    window.onload=function () {
      
        var filename = "file.xlsx"; //文件名称
        var data = [[1,2,3],[true, false, null, "sheetjs"],["foo","bar",new Date("2014-02-19T14:30Z"), "0.3"], ["baz", null, "qux"]];  //数据,一定注意需要时二维数组
        var ws_name = "Sheet1"; //Excel第一个sheet的名称
        var wb = XLSX.utils.book_new(), ws = XLSX.utils.aoa_to_sheet(data);
        XLSX.utils.book_append_sheet(wb, ws, ws_name);  //将数据添加到工作薄
        XLSX.writeFile(wb, filename); //导出Excel
    }
</script>

</body>

</html>

 

最后完美解决!

             

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值