Excel表格是一種廣泛使用的數據交換格式,它非常適合用於存儲和管理大量的數據。在日常工作中,我們經常需要從Excel表格中讀取數據並進行處理。在這篇文章中,我們將介紹使用Node.js讀取Excel文件的完整指南,從讀取文件順序到具體的代碼實現,以幫助你快速地處理Excel數據。
一、Node.js讀取文件順序
在使用Node.js讀取Excel文件之前,首先我們需要了解Node.js對文件操作的基礎知識,例如如何打開、讀取和關閉文件等操作。Node.js中主要使用fs模塊來完成文件操作,包括讀取、寫入、創建、刪除文件等功能。下面是一些基本的fs模塊操作示例:
const fs = require('fs'); //異步讀取文件 fs.readFile('file.txt', 'utf8', function(err, data) { if (err) throw err; console.log(data); }); //同步讀取文件 let data = fs.readFileSync('file.txt', 'utf8'); //寫入文件 fs.writeFile('file.txt', 'Hello World!', function(err) { if (err) throw err; console.log('File is saved successfully!'); });
了解了基本的文件操作後,我們就可以開始使用Node.js讀取Excel文件了。
二、Node.js讀取Excel
Excel文件通常是二進制文件或XML格式文件,如果我們需要讀取其中的數據,就需要使用一些專門的庫。以下是使用Node.js讀取Excel文件的兩種方法:
1. 使用exceljs庫讀取Excel文件
exceljs是一個用於讀寫Excel文件的Node.js模塊,它支持在瀏覽器和Node.js中同時使用,並能夠處理大量的數據。使用exceljs讀取Excel文件的步驟如下:
步驟1:安裝exceljs模塊
npm install exceljs
步驟2:打開Excel文件
const ExcelJS = require('exceljs'); const workbook = new ExcelJS.Workbook(); workbook.xlsx.readFile('sample.xlsx') .then(function() { console.log('Excel file has been opened successfully!'); });
步驟3:讀取Excel數據
const worksheet = workbook.getWorksheet(1); worksheet.eachRow(function(row, rowNumber) { console.log("Row " + rowNumber + " = " + JSON.stringify(row.values)); });
2. 使用xlsx庫讀取Excel文件
xlsx是一個流行的用於讀寫Excel文件的Node.js模塊,它實現了一些 Excel 文件格式的解析器。在使用這個庫之前,需要先安裝以下依賴模塊:
npm install xlsx npm install file-saver
使用xlsx讀取Excel文件的步驟如下:
步驟1:加載xlsx模塊並讀取Excel文件
const XLSX = require("xlsx"); const workbook = XLSX.readFile("sample.xlsx");
步驟2:獲取工作表數據
const worksheet = workbook.Sheets[workbook.SheetNames[0]]; const data = XLSX.utils.sheet_to_json(worksheet); console.log("Data from Excel Sheet=", data);
三、Node.js讀取CSV文件
CSV文件是一種常見的純文本文件格式,也非常適合用於存儲和管理大量的數據。在Node.js中,我們可以使用csv-parser模塊輕鬆地讀取CSV文件,並將其轉換為JavaScript對象。以下是讀取CSV文件的步驟:
步驟1:安裝csv-parser模塊
npm install csv-parser
步驟2:讀取CSV文件並將數據轉換為JavaScript對象
const fs = require('fs'); const csv = require('csv-parser'); const results = []; fs.createReadStream('data.csv') .pipe(csv()) .on('data', (data) => results.push(data)) .on('end', () => { console.log("Results=", results); });
四、Node.js fs讀取文件
Node.js中的fs模塊提供了許多功能強大的方法,用於讀取、寫入、創建、刪除文件等操作。以下是使用fs模塊讀取文件的步驟:
步驟1:加載fs模塊並讀取文件
const fs = require('fs'); fs.readFile('sample.txt', 'utf8', function(err, data) { if (err) throw err; console.log(data); });
五、Node.js讀取JSON文件
JSON文件是一種輕量級的數據交換格式,易於閱讀和編寫。在Node.js中,可以直接使用fs模塊讀取JSON文件,並將其轉換為JavaScript對象。以下是讀取JSON文件的步驟:
步驟1:加載fs模塊並讀取JSON文件
const fs = require('fs'); fs.readFile('data.json', 'utf8', function(err, data) { if (err) throw err; const jsonData = JSON.parse(data); console.log("Data from JSON file=", jsonData); });
六、Node.js讀取XML文件
XML文件是一種常見的數據交換格式,它是一種簡單靈活的文本格式,易於理解和處理。在Node.js中,我們可以使用xml2js模塊輕鬆地讀取XML文件,並將其轉換為JavaScript對象。以下是讀取XML文件的步驟:
步驟1:安裝xml2js模塊
npm install xml2js
步驟2:讀取XML文件並將其轉換為JavaScript對象
const fs = require('fs'); const xml2js = require('xml2js'); fs.readFile('data.xml', function(err, data) { if (err) throw err; xml2js.parseString(data, function(error, result) { if (error) throw error; const jsonData = JSON.stringify(result); console.log("Data from XML file=", jsonData); }); });
七、Node.js讀取本地文件
在Node.js中,我們可以輕鬆讀取本地文件。只需要使用fs模塊加載本地文件並進行讀取操作即可。以下是讀取文件的步驟:
步驟1:加載fs模塊並讀取本地文件
const fs = require("fs"); const buffer = fs.readFileSync("./sample.txt"); const data = buffer.toString(); console.log("Data from local file=", data);
八、Node.js處理Excel
Excel文件中的數據通常需要進行加工和處理,以滿足特定的需求。在Node.js中,我們可以使用exceljs和xlsx這兩個模塊對Excel進行處理。以下是使用exceljs和xlsx對Excel進行操作的示例:
使用exceljs刪除工作表中特定列
const ExcelJS = require('exceljs'); const workbook = new ExcelJS.Workbook(); workbook.xlsx.readFile('sample.xlsx') .then(function() { const worksheet = workbook.getWorksheet(1); worksheet.eachRow(function(row, rowNumber) { row.eachCell(function(cell, colNumber) { if (colNumber === 1) { cell.value = null; } }); }); workbook.xlsx.writeFile('sample_new.xlsx') .then(function() { console.log('Excel file has been written successfully!'); }); });
使用xlsx插入數據到工作表中
const XLSX = require("xlsx"); const workbook = XLSX.readFile("sample.xlsx"); const worksheet = workbook.Sheets[workbook.SheetNames[0]]; const data = XLSX.utils.sheet_to_json(worksheet); const newData = [ {Name: "John", Age: 25}, {Name: "Mary", Age: 30}, {Name: "David", Age: 35} ]; newData.forEach((item, index) => { worksheet[XLSX.utils.encode_cell({c: 0, r: data.length + index + 2})] = {v: item.Name}; worksheet[XLSX.utils.encode_cell({c: 1, r: data.length + index + 2})] = {v: item.Age}; }); const newFile = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(newFile, worksheet, "Sheet1"); XLSX.writeFile(newFile, "sample_new.xlsx");
以上就是使用Node.js讀取Excel文件的完整指南,通過上述示例,你已經了解了使用Node.js讀取不同類型的文件的方法。希望這篇文章能夠幫助你更好地處理Excel數據。
原創文章,作者:JUYY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/142830.html