国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

node簡單處理xls、xlsx、docx文件

這篇具有很好參考價值的文章主要介紹了node簡單處理xls、xlsx、docx文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

最近想爬取一些excel和word文件中的數(shù)據(jù),于是記錄下來,方便自己后面復(fù)雜粘貼,xls、xlsx、docx文件還是能處理的,但是doc文件處理不了

  1. 使用cmd

    #創(chuàng)建npm項(xiàng)目
    npm init
    #安裝所需包
    npm install request --save
    npm install node-xlsx --save
    npm install adm-zip --save
    
  2. 在入口文件文章來源地址http://www.zghlxwxcb.cn/news/detail-554837.html

    const xlsx = require('node-xlsx');
    const fs = require('fs');
    const path = require('path');
    const AdmZip = require('adm-zip');
    var request = require("request");
    
    
    let url = "https://xxxx.cn/442054773520384.xls";
    //創(chuàng)建跟該文件同級的data目路
    const dataPath = path.resolve("./data");
    
    
    getFlag(url).then(res => {
      console.log("res==" + res);
    });
    
    
    function getFlag(url) {
      return new Promise(resolve => {
        //下載文件
        getFileByUrl(url).then(filename => {
          //處理文件
          handleDocxFile(filename);
          handleExcelFile(filename);
          resolve(1);
        }, () => {
          resolve(2);
        }).catch((err) => {
          console.error(err);
          resolve(3);
        });
      })
    }
    
    
    /**
     * 下載文件
     * @param {*} url  網(wǎng)絡(luò)文件url地址
     */
    function getFileByUrl(url) {
      return new Promise((resolve, reject) => {
        //添加文件名和后綴--start
        let fileName = "file" + new Date().getTime();
        if (url.indexOf(".docx") > -1)
          fileName += ".docx";
        else if (url.indexOf(".xls") > -1)
          fileName += ".xls";
        else if (url.indexOf(".xlsx") > -1)
          fileName += ".xlsx";
        else
          reject();
        console.log(fileName);
        //添加文件名和后綴--end
    
        //保存文件--start
        let stream = fs.createWriteStream(path.join(dataPath, fileName));
        request(url).pipe(stream).on("close", function (err) {
          if (err) {
            reject();
          }
          console.log("文件" + fileName + "下載完畢");
          resolve(fileName);
        });
        //保存文件--end
      })
    
    }
    
    
    /**
     * 處理word文件
     * @param {文件名} filename 
     */
    function handleDocxFile(filename) {
      if (filename.indexOf(".docx") != -1) {
        const filePath = path.join(dataPath, filename);
        const zip = new AdmZip(filePath); //filePath為文件路徑
        const str = zip.readAsText("word/document.xml");//將document.xml讀取為text內(nèi)容;
        //處理該內(nèi)容
        console.log(str);
        //刪除文件
        fs.unlink(filePath, err => {
          if (err) console.log("刪除失敗");
          else console.log("刪除成功");
        });
      }
    }
    
    /**
     * 處理Excel文件
     * @param {文件名} filename 
     */
    function handleExcelFile(filename) {
      if (filename.indexOf(".xls") != -1 || filename.indexOf(".xlsx") != -1) {
        const filePath = path.join(dataPath, filename);
        const sheets = xlsx.parse(filePath);
        //循環(huán)工作表
        for (let i = 0; i < sheets.length; i++) {
          let len = sheets[i].data.length;
          //循環(huán)獲取每一行
          for (let j = 0; j < len; j++) {
            let row = sheets[i].data[j];
            //循環(huán)獲取每個單元格
            for (let k = 0; k < row.length; k++) {
              let cell = row[k];
              //處理
              console.log(cell);
            }
          }
        }
        //刪除該文件
        fs.unlink(filePath, err => {
          if (err) console.log("刪除失敗");
          else console.log("刪除成功");
        });
      }
    }
    

到了這里,關(guān)于node簡單處理xls、xlsx、docx文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Java給文件加水印,支持.pptx,.doc,.docx,.xls,.xlsx,.pdf,.png,.jpg。

    office 相關(guān)格式文檔的加密主要使用微軟提供的Spire.Office for Java ,free部分有針對性每個類型的API說明和示例,請自行參考以下鏈接。下面也會附上我在項(xiàng)目中的實(shí)際工具類。 Spire.Office for Java | 專業(yè)的 Java Office 套件 | 創(chuàng)建、修改、轉(zhuǎn)換、打印 Word/PowerPoint/PDF 文檔 我的策略是

    2024年02月12日
    瀏覽(26)
  • Python實(shí)現(xiàn)將pdf,docx,xls,doc,wps,zip,xlsx,ofd鏈接下載并將文件保存到本地

    Python實(shí)現(xiàn)將pdf,docx,xls,doc,wps,zip,xlsx,ofd鏈接下載并將文件保存到本地

    前言 本文是該專欄的第31篇,后面會持續(xù)分享python的各種干貨知識,值得關(guān)注。 在工作上,尤其是在處理爬蟲項(xiàng)目中,會遇到這樣的需求。訪問某個網(wǎng)頁或者在采集某個頁面的時候,正文部分含有docx,或pdf,或xls,或doc,或wps,或ofd,或xlsx,或zip等鏈接。需要你使用python自

    2024年02月17日
    瀏覽(39)
  • 在Windows和MacOS環(huán)境下實(shí)現(xiàn)批量doc轉(zhuǎn)docx,xls轉(zhuǎn)xlsx

    Python中批量進(jìn)行辦公文檔轉(zhuǎn)化是常見的操作,在windows狀態(tài)下我們可以利用changeOffice這個模塊很快進(jìn)行批量操作。 Windows環(huán)境下,如何把doc轉(zhuǎn)化為docx,xls轉(zhuǎn)化為xlsx? 首先,我們要安裝這個第三方模塊,在cmd下輸入 其次,導(dǎo)入這個模塊 然后,要確定文件所在的位置 最后就可以

    2024年02月13日
    瀏覽(21)
  • H5實(shí)現(xiàn)附件預(yù)覽功能(doc/docx、xls/xlsx、ppt/pptx、pdf)

    一、H5用以下方式即可實(shí)現(xiàn): (釘釘小程序官方目前沒有預(yù)覽附件的API,也可用這種方法實(shí)現(xiàn)) doc/docx、xls/xlsx、ppt/pptx 可直接用以下鏈接打開: 注意:使用此方法,附件鏈接必須是域名。 https://view.officeapps.live.com/op/view.aspx?src= + 文檔url pdf類型附件需要另外處理 ,具體方法

    2024年02月16日
    瀏覽(37)
  • uniapp 在線預(yù)覽各種格式文件(支持doc, xls, ppt, pdf, docx, xlsx, pptx格式) 適用于小程序 (解決了真機(jī)調(diào)試可以打開,發(fā)布體驗(yàn)版打不開的問題)(可設(shè)置文件名)

    代碼: 參考官方文檔: uni.saveFile(OBJECT) @savefile | uni-app官網(wǎng) uni-app,uniCloud,serverless https://uniapp.dcloud.net.cn/api/file/file.html#opendocument tips: 問題一: 打不開 ? ? ? ? 1. 文件地址須保證能正常打開(在瀏覽器中嘗試是否能預(yù)覽或正常下載) ? ? ? ? 2.注意文件名最好為數(shù)字字母(非中文) 問題

    2024年02月05日
    瀏覽(27)
  • Node.js中處理特殊字符的文件名,安全穩(wěn)妥的方案

    在Node.js中,通過 path 模塊提供的 basename 方法,我們可以輕松地從文件路徑中提取文件名。然而,這個方法在處理特殊字符時存在一些問題,因?yàn)樗鼤@些字符進(jìn)行轉(zhuǎn)義,導(dǎo)致在不同操作系統(tǒng)上的兼容性問題。在這篇文章中,我們將介紹一種安全穩(wěn)妥的方法,結(jié)合使用 dir

    2024年02月04日
    瀏覽(22)
  • 文件格式xls和xlsx有什么區(qū)別?xlsx和xls選擇哪個

    文件格式xls和xlsx有什么區(qū)別?xlsx和xls選擇哪個

    在數(shù)字時代,我們經(jīng)常需要處理各種電子文件,其中xls和xlsx是兩種常見的電子表格文件格式。盡管它們只有一字之差,但它們在功能、兼容性和性能等方面有著顯著的區(qū)別。本文將詳細(xì)解析這兩種文件格式的區(qū)別,并指導(dǎo)您如何根據(jù)需求選擇合適的格式。 XLS是Microsoft Excel的

    2024年01月24日
    瀏覽(22)
  • xlsx.js: 基于 JavaScript 的 Excel 文件讀寫庫

    如果你需要在瀏覽器端處理 Excel 文件,那么 xlsx.js 可能是一個不錯的選擇。這是一個基于 JavaScript 的庫,可以方便地讀取、創(chuàng)建和修改 Excel 文件。 支持多種文件格式:.xlsx, .xlsm, .xlsb, .ods, .csv 等。 支持?jǐn)?shù)據(jù)的讀取和寫入。 支持多種單元格樣式,如字體、顏色、背景色等。

    2024年04月17日
    瀏覽(19)
  • Node.js -- JavaScript的運(yùn)行環(huán)境

    Node.js -- JavaScript的運(yùn)行環(huán)境

    HTML : 骨架 CSS :外觀 JS : 靈魂 JavaScript可以在瀏覽器中被執(zhí)行的原因是瀏覽器里面都有一個JavaScript的解析引擎 瀏覽器 解析引擎 Chrome V8 Firefox OdinMonkey (奧丁猴) Safri JSCore IE Chakra(查克拉) 每個瀏覽器都內(nèi)置了DOM、BOM這樣的API函數(shù)。 V8引擎負(fù)責(zé)解析和執(zhí)行JavaScript代碼 內(nèi)置

    2023年04月10日
    瀏覽(16)
  • 使用JavaScript和XLSX.js將數(shù)據(jù)導(dǎo)出為Excel文件

    導(dǎo)出數(shù)據(jù)是Web應(yīng)用程序中常見的功能之一。在許多情況下,我們需要將數(shù)據(jù)導(dǎo)出為Excel文件,以便用戶可以在本地計算機(jī)上查看和編輯數(shù)據(jù)。在本篇博客中,我們將介紹如何使用JavaScript和XLSX.js將數(shù)據(jù)導(dǎo)出為Excel文件。 XLSX.js是一個JavaScript庫,它提供了一組API,可以將數(shù)據(jù)轉(zhuǎn)換

    2024年04月26日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包