1、使用场景:

使用 Electron 开发桌面端程序,需要把数据导出为 Excel 文件。网上有很多类似的案例,需要借助 Electron 进程或者 ExcelJS 等。但是,Electron ES5 在引入 ExcelJS 会出现很多暂时博主无法解决的问题。所以,尝试了其他的库,本文以 SheetJS js-xlsx 为例,适合导出 Excel 文件比较简单的需求。

2、安装 SheetJS js-xlsx:

npm install xlsx

更多文档,参考官方介绍:https://github.com/SheetJS/sheetjs

3、示例代码:

import XLSX from 'xlsx'

// 数据源
var data = [
    {
        'x':1,
        'y':2,
        'z':3
    }
]

// 文件名
var fileName = 'xxx.xlsx'

// 下载的路径
var filePath = 'xxx/' + fileName

// 新建workbook
const wb = XLSX.utils.book_new()

// 新建worksheet,并载入数据
const ws = XLSX.utils.json_to_sheet(data)

// 设置每列的列宽,10代表10个字符,注意中文占2个字符
ws['!cols'] = [
  { wch: 30 },
  { wch: 30 },
  { wch: 30 }
]

// 生成xlsx文件(workbook,worksheet数据,sheet命名)
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1')

// 写文件(workbook,xlsx文件路径+文件名)
XLSX.writeFile(wb, filePath)

4、总结:

使用 SheetJS js-xlsx 可以快速的实现简单 Excel 文件的导出,导出的 Excel 第一行标题就是数组数据的 Key:x、y、z

Logo

前往低代码交流专区

更多推荐