Rumah > Artikel > hujung hadapan web > Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel
Kadang-kadang bahagian hadapan perlu memproses beberapa data (seperti penggantian kandungan fail berbilang bahasa kami tidak mahu melakukan perkara yang berulang, membosankan dan masa ini). -membazir ctrl C
ctrl V
bekerja secara bodoh Sangat sesuai untuk menyerahkan perkara seperti ini kepada komputer. [Cadangan tutorial berkaitan: tutorial video nodejs]
Artikel ini hanya memperkenalkan cara bahagian hadapan membaca data dalam fail Excel
atau txt
melalui Node ke fail txt
. Pertama, berikan kandungan fail: fail test.txt hanya mempunyai satu ayat (saya adalah kandungan fail txt); >
Baca fail txt
/** 引入Node的文件模块 */ const fs = require("fs"); /** 获取要读取的文件的路径 */ const path = "./test.txt"; /** 判断该文件是否存在 */ const isExist = fs.existsSync(path); /** 读取文件的内容 */ const data = isExist ? fs.readFileSync(path, "utf-8") : ""; /** 测试读取 */ console.log("test.txt的内容:", data) // test.txt的内容: 我是txt文件的内容Di sini kita tidak perlu mencipta
/** 引入Node的文件模块 */ const fs = require("fs"); /** 测试Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel */ fs.writeFile("write.txt", "测试Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel", (err, data) => { if (err) throw err; });secara aktif, kod akan secara automatik menentukan sama ada fail itu wujud, dan jika ia tidak wujud, ia akan mencipta fail secara automatik.
Perhatikan bahawa jika fail wujud, apabila memanggil write.txt
(rujuk ini untuk penggunaan lengkap kaedah ini), kandungan asal akan digantikan dengan kandungan baharu. Operasi adalah seperti berikut: writeFile
Terdapat juga operasi tambah, iaitu menambah data pada asas asal:
Operasi adalah seperti berikut:/** 引入Node的文件模块 */ const fs = require("fs"); /** 测试Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel */ fs.appendFile("write.txt", "测试Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel", (err, data) => { if (err) throw err; });Petua
: Apa yang perlu diperhatikan di sini ialah apabila kita menulis objek JS terus ke fail, hasilnya tidak memenuhi jangkaan kami:
Hasil jalankan:/** 引入Node的文件模块 */ const fs = require("fs"); const obj = { name: 'cc', age: 15 } /** 测试Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel */ fs.writeFile("write.txt", obj, (err, data) => { if (err) throw err; });
Pada masa ini, anda boleh merangkai objek melalui
, iaitu: JSON.stringify()
/** 引入Node的文件模块 */ const fs = require("fs"); const obj = { name: 'cc', age: 15 } /** 测试Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel */ fs.writeFile("write.txt", JSON.stringify(obj), (err, data) => { if (err) throw err; });
Untuk menjadikan format penulisan kelihatan lebih baik, anda boleh menambah beberapa parameter pada kaedah
(anda boleh merujuk kepada ini untuk penggunaan kaedah), seperti menambah inden JSON.stringify()
: JSON.stringify()
Tab
/** 引入Node的文件模块 */ const fs = require("fs"); const obj = { name: 'cc', age: 15 } /** 测试Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel */ fs.writeFile("write.txt", JSON.stringify(obj, null, '\t'), (err, data) => { if (err) throw err; });Baca fail Excel
/** 引入Node的文件模块 */ const fs = require("fs"); /** 引入Excel文件处理模块(若没安装,安装一下即可) */ const xlsx = require('node-xlsx'); /** 解析excel文档 */ const sheets = xlsx.parse('./test.xlsx'); console.log("sheets data:", sheets)
Kandungan yang dihuraikan
ialah tatasusunan dan setiap helaian adalah dalam bentuk objek sebagai elemen tatasusunan. sheets
Rupa lengkapnya adalah seperti berikut: { name: 'xxx', data: [...]}
/** sheets的完整内容 */ [{ name: 'Sheet1', /** sheet页名称 */ data: [ ['name', 'age'], /** 第一个元素为表头 */ ['Tom', 11], ['Bob', 13] ] }, { name: 'Sheet2', /** sheet页名称 */ data: [ ['animal', 'legs'], /** 第一个元素为表头 */ ['cat', 4], ['dog', 4], ['duck', 2] ] }]Tulis ke fail Excel
Excel
/** 引入Node的文件模块 */ const fs = require("fs"); /** 引入Excel文件处理模块 */ const xlsx = require('node-xlsx'); /** 构建数据 */ const myData = [{ name: '我的表格1', data: [ ['name', 'age'], ['Tom', 11], ['Bob', 13] ] }, { name: '我的表格2', data: [ ['animal', 'legs'], ['cat', 4], ['dog', 4], ['duck', 2] ] }] /** 构建数据流 */ const buffer = xlsx.build(myData); /** 将数据Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excelwrite.xlsx */ fs.writeFile('./write.xlsx', buffer, err => { if (err) { throw err; } });akan dicipta secara automatik jika ia tidak wujud. Keputusan yang dijalankan adalah seperti berikut:
write.xlsx
Pada ketika ini, kita semua tahu cara membaca dan menulis fail Seterusnya, anda boleh melakukan apa sahaja yang anda mahu, dan anda boleh melakukannya dengan gembira itu. Bermain dengan data~
Untuk lebih banyak pengetahuan berkaitan nod, sila lawati:
tutorial nodejsAtas ialah kandungan terperinci Membawa anda menggunakan Node untuk membaca dan menulis fail txt dan Excel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!