使用Node.js讀取Excel文件的完整指南

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-tw/n/142830.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JUYY的頭像JUYY
上一篇 2024-10-14 18:43
下一篇 2024-10-14 18:43

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • 運維Python和GO應用實踐指南

    本文將從多個角度詳細闡述運維Python和GO的實際應用,包括監控、管理、自動化、部署、持續集成等方面。 一、監控 運維中的監控是保證系統穩定性的重要手段。Python和GO都有強…

    編程 2025-04-29
  • Python應用程序的全面指南

    Python是一種功能強大而簡單易學的編程語言,適用於多種應用場景。本篇文章將從多個方面介紹Python如何應用於開發應用程序。 一、Web應用程序 目前,基於Python的Web…

    編程 2025-04-29
  • Python wordcloud入門指南

    如何在Python中使用wordcloud庫生成文字雲? 一、安裝和導入wordcloud庫 在使用wordcloud前,需要保證庫已經安裝並導入: !pip install wo…

    編程 2025-04-29
  • vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常問題的解決

    本文旨在解決vue下載無後綴名的文件被加上後綴.txt,有後綴名的文件下載正常的問題,提供完整的代碼示例供參考。 一、分析問題 首先,需了解vue中下載文件的情況。一般情況下,我們…

    編程 2025-04-29
  • Python小波分解入門指南

    本文將介紹Python小波分解的概念、基本原理和實現方法,幫助初學者掌握相關技能。 一、小波變換概述 小波分解是一種廣泛應用於數字信號處理和圖像處理的方法,可以將信號分解成多個具有…

    編程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件並生成完整的圖像

    OBJ格式是一種用於表示3D對象的標準格式,通常由一組頂點、面和紋理映射坐標組成。在本文中,我們將討論如何將多個OBJ文件拼接在一起,生成一個完整的3D模型。 一、讀取OBJ文件 …

    編程 2025-04-29
  • 打造照片漫畫生成器的完整指南

    本文將分享如何使用Python編寫一個簡單的照片漫畫生成器,本文所提到的所有代碼和技術都適用於初學者。 一、環境準備 在開始編寫代碼之前,我們需要準備一些必要的環境。 首先,需要安…

    編程 2025-04-29
  • Python字元轉列表指南

    Python是一個極為流行的腳本語言,在數據處理、數據分析、人工智慧等領域廣泛應用。在很多場景下需要將字元串轉換為列表,以便於操作和處理,本篇文章將從多個方面對Python字元轉列…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29

發表回復

登錄後才能評論