Le front-end doit parfois traiter certaines données (comme le remplacement du contenu de fichiers multilingues). Nous ne voulons pas faire cela ctrl C
répétitif, ennuyeux et chronophage. >+ ctrl V code>, il est préférable de laisser ce genre de chose à l'ordinateur. [Tutoriels associés recommandés : <a href="https://www.php.cn/course/list/24.html" target="_blank">tutoriel vidéo nodejs<code>ctrl C
+ ctrl V
的工作,这种事情交给计算机做再合适不过了。【相关教程推荐:nodejs视频教程】
这篇文章只是简单地介绍前端如何通过Node来读取Excel
或txt
文件中的数据,然后Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel到txt
文件中的方法。首先给出文件的内容:test.txt文件只有一句话(我是txt文件的内容);test.xlsx文件中,具体如图所示:
废话不多说,show me your code:
/** 引入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文件的内容
/** 引入Node的文件模块 */ const fs = require("fs"); /** 测试Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel */ fs.writeFile("write.txt", "测试Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel", (err, data) => { if (err) throw err; });
这里我们并不需要主动创建write.txt
,代码会自动判断这个文件是否存在,如果不存在则自动创建该文件。注意,如果该文件存在,调用writeFile
(该方法的完整使用可以参考这)时,将会用新的内容替换掉原有的内容。运行如下:
还有一种是Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel操作,就是在原来的基础上添加数据:
/** 引入Node的文件模块 */ const fs = require("fs"); /** 测试Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel */ fs.appendFile("write.txt", "测试Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel", (err, data) => { if (err) throw err; });
运行如下:
提示:这里需要注意的是,当我们向文件中直接Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel的是JS对象的时候,Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel并不符合我们的预期:
/** 引入Node的文件模块 */ const fs = require("fs"); const obj = { name: 'cc', age: 15 } /** 测试Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel */ fs.writeFile("write.txt", obj, (err, data) => { if (err) throw err; });
运行Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel:
这时可以通过JSON.stringify()
字符串化对象,即可:
/** 引入Node的文件模块 */ const fs = require("fs"); const obj = { name: 'cc', age: 15 } /** 测试Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel */ fs.writeFile("write.txt", JSON.stringify(obj), (err, data) => { if (err) throw err; });
Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel如下:
为了使Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel格式更好看一点,可以往JSON.stringify()
方法中添加一些参数(JSON.stringify()
方法的使用可以参考这),比如添加一个Tab
缩进:
/** 引入Node的文件模块 */ const fs = require("fs"); const obj = { name: 'cc', age: 15 } /** 测试Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel */ fs.writeFile("write.txt", JSON.stringify(obj, null, '\t'), (err, data) => { if (err) throw err; });
/** 引入Node的文件模块 */ const fs = require("fs"); /** 引入Excel文件处理模块(若没安装,安装一下即可) */ const xlsx = require('node-xlsx'); /** 解析excel文档 */ const sheets = xlsx.parse('./test.xlsx'); console.log("sheets data:", sheets)
可以看到输出的Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel:
解析后的内容sheets
是一个数组,每一个sheet表以一个对象{ 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] ] }]
从上面我们知道了读取Excel
后的文件的格式,那么Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel也只要按照这种格式构建好,再调用函数Vous amène à utiliser Node pour lire et écrire des fichiers txt et 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); /** 将数据Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excelwrite.xlsx */ fs.writeFile('./write.xlsx', buffer, err => { if (err) { throw err; } });
同理,write.xlsx
]
Cet article est tout simplement simple Cet article présente comment le frontal lit les données dans le fichier Excel
ou txt
via Node, puis les écrit dans le fichier txt
. Tout d'abord, donnez le contenu du fichier : le fichier test.txt n'a qu'une seule phrase (je suis le contenu du fichier txt) ; dans le fichier test.xlsx, les détails sont comme indiqué sur la figure :
rrreee
write.txt
Le code déterminera automatiquement si le fichier existe. S'il n'existe pas, il créera automatiquement le fichier. Notez que si le fichier existe, l'appel de writeFile
(voir ici pour l'utilisation complète de cette méthode) remplacera le contenu original par le nouveau contenu. Exécutez comme suit : 🎜🎜Une autre option est The L'opération d'ajout consiste à ajouter des données sur la base d'origine : 🎜rrreee🎜Exécutez comme suit : 🎜🎜🎜🎜Astuce : Ce qu'il faut noter ici, c'est que lorsque nous écrivons un objet JS directement dans le fichier, le résultat ne répond pas à nos attentes : 🎜rrreee 🎜Exécuter résultats : 🎜🎜🎜🎜À ce moment, vous pouvez stringifiez l'objet via JSON.stringify()
: 🎜rrreee🎜Le résultat est le suivant : 🎜🎜🎜🎜Afin d'améliorer l'apparence du format d'écriture, vous pouvez en ajouter à la méthode JSON.stringify()
Paramètres ( pour l'utilisation de la méthode JSON.stringify()
, veuillez vous référer à ceci), par exemple, ajoutez un retrait Tab
: 🎜rrreee🎜🎜sheets
est un tableau, et chaque feuille est un tableau sous la forme d'un objet { nom : 'xxx', data : [...]}
élément. Excel code> , alors l'écriture doit seulement être construite selon ce format, puis appeler la fonction pour écrire~🎜rrreee🎜De même, le fichier <code>write.xlsx
sera automatiquement créé s'il n'existe pas. Les résultats en cours sont les suivants : 🎜🎜🎜🎜🎜À ce stade, nous savons tous comment lire et écrire des fichiers. Ensuite, vous pouvez faire ce que vous voulez et vous pouvez jouer avec les données ~🎜🎜Plus de connaissances liées aux nœuds. , veuillez visiter : 🎜tutoriel nodejs🎜 ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!