文章目錄
- Excell 代碼處理
- cvc格式
- xlsl格式
- 小結
Excell 代碼處理
有時候要對excell進行分析,或者數據的導入導出,這個時候如果可以用代碼讀寫分析操作那么會方便很多
cvc格式
CSV(Comma-Separated Values,逗號分隔值)是一種簡單的文本文件格式,用于存儲表格數據。每一行代表一條記錄(或一行數據),而每條記錄中的不同字段(列)由逗號分隔。CSV 文件常用于數據交換、導入/導出、以及在電子表格軟件(如 Excel)中查看數據
csv樣式
IDFV,DAY,LEVEL
748158A1-3A21-4673-A625-F6ECBCA5B7FF,1,20
748158A1-3A21-4673-A625-F6ECBCA5B7FF,1,30
下載處理插件
npm install csv-parser
處理表頭
npm install csv-parser
讀取csv
const fs = require('fs');
const csv = require('csv-parser');
// 創建一個可讀流,讀取文件 'example.txt'
const readableStream = fs.createReadStream('C:/Users/yu/Desktop/majia/majia.csv', { encoding: 'utf8' }).pipe(csv());// 自動處理標題行,將每行轉為對象// 設置數據事件監聽器
readableStream.on('data', (chunk) => {console.log('收到一個數據塊:', chunk);
});// 設置結束事件監聽器
readableStream.on('end', () => {console.log('文件讀取完成');
});// 設置錯誤事件監聽器
readableStream.on('error', (err) => {console.error('讀取文件時出錯:', err);
});
對象寫入csv
npm install fast-csv
const fs = require('fs');
const { write } = require('@fast-csv/format');const records = [{ IDFV: '748158A1-3A21-4673-A625-F6ECBCA5B7FF', DAY: 1, LEVEL: '20' },{ IDFV: '748158A1-3A21-4673-A625-F6ECBCA5B7FF', DAY: 1, LEVEL: '30' }
];const ws = fs.createWriteStream('output.csv');write(records, { headers: true }).pipe(ws).on('finish', () => {console.log('CSV 文件已保存');});
xlsl格式
略
const xlsx = require('xlsx');/*** json 轉excell* @param {*} jsonData * @param {*} pathUrl */
function writeToExcell(jsonData, pathUrl) {const ws = xlsx.utils.json_to_sheet(jsonData);const wb = xlsx.utils.book_new();//創建一個新的工作簿xlsx.utils.book_append_sheet(wb, ws, 'Sheet1');//寫入 Excel 文件xlsx.writeFile(wb, pathUrl);console.log('數據已寫入 Excel 文件:' + pathUrl);
}/*** excell 轉 json* @param {*} url * @returns */
function readXlsxToJson(url) {// 讀取 Excel 文件const workbook = xlsx.readFile(url);// 獲取第一個工作表的名稱const sheetName = workbook.SheetNames[0];// 獲取工作表對象const sheet = workbook.Sheets[sheetName];// 將工作表數據轉換為 JSON 格式const data = xlsx.utils.sheet_to_json(sheet);console.log(data);return data
}module.exports = { writeToExcell, readXlsxToJson }
小結
Experiential Learning