由于它是基于 xlsx 库的扩展,拥有良好的兼容性和较为生动的掩护。
xlsxjs (即 xlsx)功能全面:xlsxjs 是一个非常成熟和全面的库,支持 Excel 文件的读写、数据解析、公式打算等功能。 对付纯数据处理和文件转换任务,它非常高效且稳定。 社区支持和文档:
作为一个老牌库,拥有广泛的社区支持和详细的文档,用户可以方便地找到办理方案和示例代码。 性能:

xlsxjs 在处理大量数据和大文件时表现出色,性能优化做得很好。
如果你的需求不仅限于数据处理,还须要对天生的 Excel 文件进行美化和样式设置,那么 xlsx-js-style 是一个更好的选择。 如果你更看重于 Excel 文件的数据操作、解析和转换,且不须要繁芜的样式支持,那么 xlsxjs 是一个功能更全面、更成熟的库。 选择哪个库紧张取决于你的详细需求。如果你须要结合两者的上风,可以利用 xlsxjs 进行数据操作,然后利用 xlsx-js-style 进行样式设置。
利用 xlsx-js-style 封装一个表头加粗显示导出函数:const XLSX = require('xlsx-js-style');/ TODO: 如有须要可以添加样式配置,option @param {} json 要下载的数据,格式为{[key]: value}[],key为表头,value为每一行数据 @param {} sheetName 下载的名字 /const jsonToExcel = (json, sheetName = '数据下载') => {const workbook = XLSX.utils.book_new();const jsonData = json;// 提取表头const headers = Object.keys(jsonData[0]);// 手动添加表头行const dataWithHeader = [headers, // 表头...jsonData.map((row) => headers.map((header) => row[header])) // 数据行];// 将数据转换为事情表const worksheet = XLSX.utils.aoa_to_sheet(dataWithHeader);// 确保单元格已定义并设置样式const setCellStyle = (cell, style) => {if (!worksheet[cell]) worksheet[cell] = {}; // 如果单元格未定义,则初始化它worksheet[cell].s = style;};// 表头样式const headerStyle = {font: { bold: true, sz: 14, color: { rgb: 'FFFFFF' } },fill: { fgColor: { rgb: '888888' } }};// 运用表头样式headers.forEach((header, index) => {const cellAddress = XLSX.utils.encode_cell({ c: index, r: 0 });setCellStyle(cellAddress, headerStyle);});// 设置列宽(可选)worksheet['!cols'] = headers.map(() => ({ wpx: 100 }));// 添加事情表到事情簿XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');// 写入 Excel 文件XLSX.writeFile(workbook, `${sheetName}.xlsx`);};export default jsonToExcel;出处。
效果如下:
参考链接www.npmjs.com/package/xls…www.npmjs.com/package/xls…
文章转自:https://juejin.cn/post/7377295478281404431