Maison >interface Web >js tutoriel >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

青灯夜游
青灯夜游avant
2022-10-24 20:25:031726parcourir

Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel

Le front-end doit parfois traiter certaines données (comme le remplacement du contenu de fichiers multilingues). Nous ne voulons pas faire cela ctrl Cré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来读取Exceltxt文件中的数据,然后Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel到txt文件中的方法。首先给出文件的内容:test.txt文件只有一句话(我是txt文件的内容);test.xlsx文件中,具体如图所示:

Vous amène à utiliser Node pour lire et écrire des fichiers txt et ExcelVous amène à utiliser Node pour lire et écrire des fichiers txt et ExcelVous amène à utiliser Node pour lire et écrire des fichiers txt et Excel

读取txt文件

废话不多说,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文件的内容

Vous amène à utiliser Node pour lire et écrire des fichiers txt et Exceltxt文件

/** 引入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

还有一种是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

提示:这里需要注意的是,当我们向文件中直接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: &#39;cc&#39;,
    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:

Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel对象

这时可以通过JSON.stringify()字符串化对象,即可:

/** 引入Node的文件模块 */
const fs = require("fs");

const obj = {
    name: &#39;cc&#39;,
    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

为了使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: &#39;cc&#39;,
    age: 15
}

/** 测试Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel */
fs.writeFile("write.txt", JSON.stringify(obj, null, &#39;\t&#39;), (err, data) => {
    if (err) throw err;
});

Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel

读取Excel文件

/** 引入Node的文件模块 */
const fs = require("fs");

/** 引入Excel文件处理模块(若没安装,安装一下即可) */
const xlsx = require(&#39;node-xlsx&#39;);

/** 解析excel文档 */
const sheets = xlsx.parse(&#39;./test.xlsx&#39;);
console.log("sheets data:", sheets)

可以看到输出的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

解析后的内容sheets是一个数组,每一个sheet表以一个对象{ name: 'xxx', data: [...]}的形式作为数组的元素。
完整的样子如下:

/** sheets的完整内容 */
[{
    name: &#39;Sheet1&#39;, /** sheet页名称 */
    data: [
        [&#39;name&#39;, &#39;age&#39;], /** 第一个元素为表头 */
        [&#39;Tom&#39;, 11],
        [&#39;Bob&#39;, 13]
    ]
}, {
    name: &#39;Sheet2&#39;, /** sheet页名称 */
    data: [
        [&#39;animal&#39;, &#39;legs&#39;], /** 第一个元素为表头 */
        [&#39;cat&#39;, 4],
        [&#39;dog&#39;, 4],
        [&#39;duck&#39;, 2]
    ]
}]

Vous amène à utiliser Node pour lire et écrire des fichiers txt et ExcelExcel文件

从上面我们知道了读取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(&#39;node-xlsx&#39;);

/** 构建数据 */
const myData = [{
    name: &#39;我的表格1&#39;,
    data: [
        [&#39;name&#39;, &#39;age&#39;],
        [&#39;Tom&#39;, 11],
        [&#39;Bob&#39;, 13]
    ]
}, {
    name: &#39;我的表格2&#39;,
    data: [
        [&#39;animal&#39;, &#39;legs&#39;],
        [&#39;cat&#39;, 4],
        [&#39;dog&#39;, 4],
        [&#39;duck&#39;, 2]
    ]
}]

/** 构建数据流 */
const buffer = xlsx.build(myData);

/** 将数据Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excelwrite.xlsx */
fs.writeFile(&#39;./write.xlsx&#39;, 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 : Vous amène à utiliser Node pour lire et écrire des fichiers txt et ExcelExcel

contenu txt Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel  Contenu Excel

Lire le fichier txt

Sans plus tarder, montre-moi ton code :

rrreee

Écrire le fichier txt

rrreeeNous y sommes Il n'est pas nécessaire de créer activement 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 : Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel🎜🎜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 : 🎜🎜Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel🎜🎜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 : 🎜🎜Ecrire un objet🎜🎜À ce moment, vous pouvez stringifiez l'objet via JSON.stringify() : 🎜rrreee🎜Le résultat est le suivant : 🎜🎜JSON stringification🎜🎜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🎜Insérer un retrait de tabulation🎜

Lire le fichier Excel

rrreee 🎜Vous pouvez voir les résultats de sortie : 🎜🎜Vous amène à utiliser Node pour lire et écrire des fichiers txt et Excel 🎜🎜 Le contenu analysé sheets est un tableau, et chaque feuille est un tableau sous la forme d'un objet { nom : 'xxx', data : [...]} élément.
L'apparence complète est la suivante : 🎜rrreee

Écrire dans un fichier Excel

🎜D'après ce qui précède, nous connaissons le format du fichier après avoir lu 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer