Nodejs 有没处理xls,xlsx的包?
Nodejs 有没处理xls,xlsx的包?
工作中要处理大量的xls和xlsx,搜了下,貌似nodejs没这方面的包,如果有类似pywin的那种,就爽了~~~
当然可以!在 Node.js 中处理 Excel 文件(如 .xls
和 .xlsx
)确实有一些非常强大的库。其中最流行的包括 xlsx
和 exceljs
。下面我会分别介绍这两个库,并提供一些简单的示例代码来帮助你入门。
1. 使用 xlsx
库
xlsx
是一个非常强大且广泛使用的库,用于读取和写入 .xlsx
文件。虽然它不直接支持 .xls
文件,但你可以使用其他工具(如 xls
库)来处理 .xls
文件。
安装
npm install xlsx
示例代码
const XLSX = require('xlsx');
// 读取文件
const workbook = XLSX.readFile('example.xlsx');
// 获取第一个工作表的名字
const sheetName = workbook.SheetNames[0];
// 获取工作表数据
const worksheet = workbook.Sheets[sheetName];
const data = XLSX.utils.sheet_to_json(worksheet);
console.log(data);
2. 使用 exceljs
库
exceljs
是另一个强大的库,支持 .xlsx
文件,并且提供了更丰富的功能,如样式、公式等。
安装
npm install exceljs
示例代码
const ExcelJS = require('exceljs');
// 创建一个新的工作簿
const workbook = new ExcelJS.Workbook();
workbook.creator = 'Me';
workbook.created = new Date();
// 添加一个工作表
const worksheet = workbook.addWorksheet('Sheet 1');
// 添加一些数据
worksheet.columns = [
{ header: 'ID', key: 'id', width: 10 },
{ header: 'Name', key: 'name', width: 32 },
{ header: 'Age', key: 'age', width: 10 }
];
worksheet.addRow({ id: 1, name: 'John Doe', age: 25 });
worksheet.addRow({ id: 2, name: 'Jane Doe', age: 24 });
// 写入文件
workbook.xlsx.writeFile('output.xlsx')
.then(() => {
console.log('File saved!');
})
.catch(err => {
console.error(err);
});
总结
以上两种方法都可以有效地处理 Excel 文件。xlsx
库更适合简单的读取和写入操作,而 exceljs
则提供了更多的功能和灵活性。希望这些示例代码能帮助你在 Node.js 中高效地处理 Excel 文件!
有
方法一, 另存为 csv 格式, 再用[node-csv-parser ][1]
方法二, 用这个插件:node spreadsheet : this is a solution to read excel files in node js based on PHPExcel from phpexcel.codeplex.com 依赖php的,但总比没有强. https://github.com/shimondoodkin/node_spreadsheet
有没大牛写个类似pywin的nodewin工具~~~ 哈哈,我想写,但自认为没这功力~~
关注中。。。
用csv 怎么解决用execl打开乱码问题的呢??、
在 Node.js 中,你可以使用一些库来处理 Excel 文件(如 .xls
和 .xlsx
)。比较流行的库包括 xlsx
和 exceljs
。这些库可以让你读取、写入和操作 Excel 文件。
示例:使用 xlsx
库
-
首先,你需要安装
xlsx
库:npm install xlsx
-
示例代码:
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 newWorksheet = XLSX.utils.json_to_sheet(data); const newWorkbook = { SheetNames: ['Sheet1'], Sheets: { 'Sheet1': newWorksheet } }; XLSX.writeFile(newWorkbook, 'new_example.xlsx');
示例:使用 exceljs
库
-
首先,安装
exceljs
库:npm install exceljs
-
示例代码:
const ExcelJS = require('exceljs'); // 创建一个新的工作簿和工作表 const workbook = new ExcelJS.Workbook(); const worksheet = workbook.addWorksheet('Sheet 1'); // 添加一些数据 worksheet.columns = [ { header: 'ID', key: 'id', width: 10 }, { header: 'Name', key: 'name', width: 32 } ]; worksheet.addRow({ id: 1, name: 'John' }); worksheet.addRow({ id: 2, name: 'Jane' }); // 读取现有的 Excel 文件 workbook.xlsx.readFile('example.xlsx') .then(() => { // 获取第一个工作表 const firstSheet = workbook.getWorksheet(1); console.log(firstSheet); }); // 写入新文件 workbook.xlsx.writeFile('new_example.xlsx');
这两种库都可以很好地处理 Excel 文件,选择哪一个取决于你的具体需求和个人偏好。