求推荐可读写excel表格的Nodejs包

求推荐可读写excel表格的Nodejs包

最近有个这类需求,需要去读取excel 求高手们推荐啊…

刚刚也有人推荐了node-office这东西,貌似一路安装下去依次还要安装python,visual_studio_2010 …目前visual_studio_2010还没下完…2.5G 汗! 不知兄台有没有用过node-office,这样的话不知以后放到非windows服务器上的时候肿么办呢

19 回复

求推荐可读写Excel表格的Node.js包

最近有个需求,需要处理Excel文件的读取和写入。求大家推荐一些好用的Node.js库来完成这项工作。

推荐的Node.js包

在这里,我推荐两个非常流行的Node.js库,它们可以帮助你轻松地读取和写入Excel文件:

  1. xlsx
  2. exceljs

这两个库都支持多种功能,并且不需要额外的软件依赖(如Python或Visual Studio)。

示例代码

1. 使用 xlsx 库

首先,你需要安装xlsx库:

npm install xlsx

然后,你可以使用以下代码来读取一个Excel文件:

const XLSX = require('xlsx');

// 读取Excel文件
const workbook = XLSX.readFile('example.xlsx');
const sheet_name_list = workbook.SheetNames;
const data = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);

console.log(data);

如果你想写入一个新的Excel文件,可以使用以下代码:

const XLSX = require('xlsx');

// 创建数据
const data = [
    { name: 'John', age: 30 },
    { name: 'Jane', age: 25 }
];

// 将JSON数据转换为工作表
const worksheet = XLSX.utils.json_to_sheet(data);

// 创建新的工作簿并添加工作表
const workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

// 写入文件
XLSX.writeFile(workbook, 'output.xlsx');

2. 使用 exceljs 库

首先,你需要安装exceljs库:

npm install exceljs

读取Excel文件的示例代码:

const ExcelJS = require('exceljs');

// 读取Excel文件
const workbook = new ExcelJS.Workbook();
workbook.xlsx.readFile('example.xlsx')
    .then(() => {
        const worksheet = workbook.getWorksheet(1);
        worksheet.eachRow((row, rowNumber) => {
            console.log(`Row ${rowNumber}: ${JSON.stringify(row.values)}`);
        });
    });

写入Excel文件的示例代码:

const ExcelJS = require('exceljs');

// 创建新的工作簿
const workbook = new ExcelJS.Workbook();

// 添加新的工作表
const worksheet = workbook.addWorksheet('Sheet 1');

// 添加数据
worksheet.columns = [
    { header: 'Name', key: 'name', width: 10 },
    { header: 'Age', key: 'age', width: 10 }
];
worksheet.addRow({ name: 'John', age: 30 });
worksheet.addRow({ name: 'Jane', age: 25 });

// 写入文件
workbook.xlsx.writeFile('output.xlsx');

以上就是两个常用的Node.js库,希望对你的需求有所帮助!


xlsx是个zip文件可以直接解压读取。xls就不清楚了。

node-office

刚刚也有人推荐了这东西,貌似一路安装下去依次还要安装python,visual_studio_2010 …目前visual_studio_2010还没下完…2.5G 汗! 不知兄台有没有用过node-office,这样的话不知以后放到非windows服务器上的时候肿么办呢

回家用mac系统安装node-office 一路顺利就是最后出了几个警告,可是当我运行程序总是报出一个 execvp: 没有那个文件或目录 的错,这个绝对不是xls文件找不到,实在没有办法了

测试成功 希望能够分享一下

这个你可以把excel文件转化成csv文件,然后用line-reader(https://github.com/nickewing/line-reader) 这个包读取,很方便的,也很快!我之前用过……

多谢~那个合并多列的话好用吗,我现在用的node-xlsx 不能合并列也不能处理xls

line-reader比较简单,只是按行读取记录,至于合并估计要自己写代码了……网上的包倒是很多,不过都是参差不齐,说不定本来就有Bug,如果能自己写那肯定最好了!

冒个泡file-uploader这东西上传文件不错

最近做的项目有涉及读写excel 同事用的是python读写 node调用py python有很成熟的框架去做这些事

冒个泡,3d打印这个是中国首个设计师的app store。我做的。大家有空去逛逛。

冒个泡,3d打印这个是中国首个设计师的app store。我做的。大家有空去逛逛。网址:http://www.513dp.com/

求将数据写入excel或者csv乱码问题的方法!!

求教,node-xlsx写文件,包含中文的时候会出现乱码,有何解法?

代码如下 var obj = {“worksheets”:[{“data”:[[“索引1”,“索引2”,“c”]]}]}; var file = xlsx.build(obj); fs.writeFileSync(‘b.xlsx’, file, ‘binary’);

xlsx读写,just for look look https://github.com/lodengo/xlsx

对于读写 Excel 表格的需求,我推荐使用 xlsx 这个 Node.js 包。它不仅功能强大、易于上手,而且不需要安装额外的依赖,比如 Python 或 Visual Studio。以下是一些基本的操作示例。

安装

首先你需要通过 npm 安装 xlsx

npm install xlsx

示例代码

读取 Excel 文件

const XLSX = require('xlsx');

// 读取文件
const workbook = XLSX.readFile('example.xlsx');

// 获取第一个工作表的名称
const sheetName = workbook.SheetNames[0];

// 获取指定的工作表
const worksheet = workbook.Sheets[sheetName];

// 将工作表转换为 JSON 对象数组
const data = XLSX.utils.sheet_to_json(worksheet);
console.log(data);

写入 Excel 文件

const XLSX = require('xlsx');

// 创建一个空的工作簿
const workbook = XLSX.utils.book_new();

// 示例数据
const data = [
    { name: 'Alice', age: 24 },
    { name: 'Bob', age: 30 }
];

// 将数据转换为工作表
const worksheet = XLSX.utils.json_to_sheet(data);

// 添加工作表到工作簿
XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

// 写入文件
XLSX.writeFile(workbook, 'output.xlsx');

总结

xlsx 是一个非常强大的工具,适用于各种规模的 Excel 文件读写任务。它避免了复杂的依赖关系,使得部署变得更加容易。希望这些示例能够帮助你快速上手。

如果你有更多复杂的需求或遇到任何问题,可以查阅其官方文档获取更多信息:xlsx GitHub

回到顶部