国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳解使用Node.js 將txt文件轉為Excel文件

2024-05-06 15:14:51
字體:
來源:轉載
供稿:網友

最近同事需要對一份報告進行整理,一共有80個報告約9000多行放在一個txt文件中。雖然每份報告的格式比較類似,但其中部分字段對應的數量依舊會有差別。所以真要靠人工來做,無疑會是一件費時費力的并且是很枯燥的工作。據說如果有了這個程序,可以減少60%的工作量!那么為了我以后的下午茶,自然應該去嘗試一下不是么?

不過既然是費時費力又枯燥的工作,自然就應該交給代碼去解決。畢竟,我堅信任何的科學技術就是為了讓人類偷懶而存在的。那么就先切入正題,先上GitHub的項目地址。歡迎批評指點。

GitHub項目:report-maker

項目分析

既然準備要上代碼了,作為一個狂熱的前端愛好者,自然首選Node.js了。這一個項目主要的目的就是將txt文件中的內容按照一定的規則轉化為固定格式的表格并導出為Excel。那么重點就可以分為下面兩步了。

    Excel文件的生成 txt內容的整理

1. Excel文件的生成

Excel文件自然是尋找可以依賴的模塊了(畢竟我自己寫不出來)。找了一圈,發現js-xlsx這一個模塊。雖然看起來很復雜,但其實只要提供好表頭和內容就可以,其余只是對于內容數據整理的固定模板。

相關教程可以參考下面這篇,講的比較詳細所以這里就不多做贅述了。

參考教程:使用node-xlsx進行excel文件的讀寫

2. txt內容的整理

解決了Excel導出的問題(不然就得換Py了呢),文檔內容的整理便是這個項目最重要的問題了。最終整理的表格樣式以及需要抽出的項目內容已經和同事確認過了。那么接下來就是如何整理了一個有著80個長短不一報告的文件了。

首先來看看文件的格式,整個文件的格式類似于下面這樣。

 Policy Name:  policyName1 ……省略中間內容…… Policy Type:  Standard (0) ……省略中間內容…… Client/HW/OS/Pri/CIT: Client1 Client/HW/OS/Pri/CIT: Client2 Client/HW/OS/Pri/CIT: Client3 Client/HW/OS/Pri/CIT: Client4 ……省略多個Client Include:   /dir1 Include:   /dir2 Include:   /dir3 ……省略多個Include Schedule:    Schedule1  Type:  …… Schedule:    Schedule2  Type:  …… ……省略多個Schedule Policy Name:  policyName2 ……省略中間內容…… ……

可以看出,每一個段落是以Policy Name為分界的。那么,利用fs.readFile將完整的文件讀取進來,作為一個字符串使用split方法進行切割。具體代碼如下:

fs.readFile(filePath, 'UTF-8', function (err, data) { if (err) throw err; // 對文件讀取的數據進行處理,首先用 policyName 進行切割 var policyLists = data.split(config.splitRules.policyName); if (policyLists[0] === '/r/n') { policyLists.shift(); };
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 巢湖市| 探索| 金阳县| 扬中市| 高密市| 枣强县| 额敏县| 乐东| 抚顺县| 临猗县| 军事| 甘谷县| 北流市| 海安县| 凤山县| 河池市| 肥东县| 襄城县| 阿鲁科尔沁旗| 普定县| 班玛县| 邵阳县| 冕宁县| 紫金县| 芦溪县| 磐石市| 阳山县| 行唐县| 射洪县| 保靖县| 富顺县| 甘洛县| 慈利县| 神农架林区| 海林市| 汶川县| 尚志市| 黄冈市| 交口县| 平江县| 赤壁市|