欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node解決簡單重復(fù)問題系列之Excel內(nèi)容的獲取

 更新時間:2018年01月02日 10:19:01   作者:苛求帥  
這篇文章主要給大家介紹了關(guān)于利用Node解決簡單重復(fù)問題系列之Excel內(nèi)容獲取的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧。

始因 -- 懶

最近項目中,經(jīng)常用到多語言翻譯,而iOS的多語言適配,設(shè)計給出的多語言都是指定的翻譯制作成的一系列表格,基本都要一點一點復(fù)制到對應(yīng)的語言文件中,如此反復(fù),尤其是需求量疊加,對應(yīng)翻譯較多時,一條一條復(fù)制粘貼很是費時費力。并且多語言出錯并不容易排查,無形中增加測試負擔(dān)。這時候就突然想起了可以用腳本語言處理,直接拼接成我想要的字段,這樣不是只需要一次性解決么?下面話不多說了,來一看看詳細的介紹吧。

開整

環(huán)境 : Node.js

框架 :

 "dependencies": {
 "node-xlsx": "^0.11.2"
 }

邏輯 :


Excel表格樣式

期待輸出樣式

如上兩圖展示那樣,直接取出相應(yīng)的值拼接成想到的輸出格式。

上代碼

'use strict'
var xlsx = require('node-xlsx');
var fs = require('fs');
var path = require('path')
var files = path.resolve(__dirname);
var excelPath;
fs.readdir(files ,function (error,allfiles){
 if(error){
 console.log(error);
 }else{
 allfiles.forEach(function(filename){
  var fileDir = path.join(files,filename);
  fs.stat(fileDir,function(error,stats){
  if(error){
   console.log(error);
  }else{
   // console.log(fileDir);
   if (fileDir.indexOf('xlsx') > 0){
   excelPath = fileDir;
   craeatLanguageText();
   }
  }
  });
 })
 }
});
function craeatLanguageText(){
 console.log(excelPath);
 //讀取文件內(nèi)容
 var obj = xlsx.parse(excelPath);
 var excelObj = obj[0].data;
 var data = [];
 var arr = [];// 語言種類
 for (var i in excelObj) {
 var value = excelObj[i];
 for (var j in value) {
  if (i == 0) {
  if (j > 1) {
   arr.push(value[j]);
  }
  } else {
  if (j > 1) {
   var str = arr[j - 2];
   var item = value[0]
   var vaue = value[j];
   var reg = /'/
   vaue = vaue.replace(reg, "'");
   str = str + '\n' + '"' + item + '"' + ' ' + '=' + " " + '"' + vaue + '"' + ';';
   arr[j - 2] = str;
   console.log(str);
  }
  }
 }
 }
 var languageStr = arr.join('\n');
 //將文件內(nèi)容插入新的文件中
 fs.writeFileSync('language.text', languageStr, { encoding: "utf8" });
}

邏輯比較容易看懂,不再贅述,直接在node項目文件夾拖入要解析的Excel 運行即可。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Node.js中操作MongoDB的CRUD操作指南

    Node.js中操作MongoDB的CRUD操作指南

    在Node.js中操作MongoDB常見的庫有mongodb原生驅(qū)動和mongoose等,本文將使用mongodb官方驅(qū)動包來進行示例,在開始之前,請確保已經(jīng)安裝了MongoDB數(shù)據(jù)庫并且在本地啟動了MongoDB服務(wù),需要的朋友可以參考下
    2024-01-01
  • 基于 Node.js 實現(xiàn)前后端分離

    基于 Node.js 實現(xiàn)前后端分離

    為了解決傳統(tǒng)Web開發(fā)模式帶來的各種問題,我們進行了許多嘗試,但由于前/后端的物理鴻溝,嘗試的方案都大同小異。痛定思痛,今天我們重新思考了“前后端”的定義,引入前端同學(xué)都熟悉的NodeJS,試圖探索一條全新的前后端分離模式。
    2016-04-04
  • Nodejs基于Windows安裝步驟

    Nodejs基于Windows安裝步驟

    這篇文章主要介紹了Nodejs基于Windows安裝步驟,本文分步驟結(jié)合圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • 詳解Node.js如何處理ES6模塊

    詳解Node.js如何處理ES6模塊

    學(xué)習(xí)JavaScript語言,你會發(fā)現(xiàn)它有兩種格式的模塊。一種是ES6模塊,簡稱ESM;另一種是Node.js專用的CommonJS模塊,簡稱 CJS。這兩種模塊不兼容。很多人使用Node.js,只會用require()加載模塊,遇到ES6模塊就不知道該怎么辦。本文就來談?wù)凟S6模塊在Node.js里面怎么使用。
    2021-05-05
  • Nodejs把接收圖片base64格式保存為文件存儲到服務(wù)器上

    Nodejs把接收圖片base64格式保存為文件存儲到服務(wù)器上

    這篇文章主要介紹了Nodejs把接收圖片base64格式保存為文件存儲到服務(wù)器上,文中代碼較簡短,需要的朋友可以參考下
    2018-09-09
  • NodeJs中express框架的send()方法簡介

    NodeJs中express框架的send()方法簡介

    這篇文章主要介紹了NodeJs中express框架的send()方法簡介,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Nodejs 中文分詞常用模塊用法分析

    Nodejs 中文分詞常用模塊用法分析

    這篇文章主要介紹了Nodejs 中文分詞常用模塊用法,結(jié)合具體案例形式分析了node.js常用分詞模塊的基本功能、用法、效率與相關(guān)使用特點,需要的朋友可以參考下
    2023-05-05
  • nodejs版本過高導(dǎo)致vue-cli項目無法正常運行的幾種解決方案

    nodejs版本過高導(dǎo)致vue-cli項目無法正常運行的幾種解決方案

    這篇文章主要給大家介紹了關(guān)于nodejs版本過高導(dǎo)致vue-cli項目無法正常運行的幾種解決方案,在項目中你可能需要用到的node版本太低,但是你所下的node版本是最新的,這時候就會報錯,需要的朋友可以參考下
    2023-07-07
  • 淺談Node.js爬蟲之網(wǎng)頁請求模塊

    淺談Node.js爬蟲之網(wǎng)頁請求模塊

    本篇文章主要介紹了淺談Node.js爬蟲之網(wǎng)頁請求模塊,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Node.js中Sequelize?hook的使用方法小結(jié)

    Node.js中Sequelize?hook的使用方法小結(jié)

    Sequelize?提供了多個?hook,用于在執(zhí)行數(shù)據(jù)庫操作時執(zhí)行一些自定義邏輯,本文為大家整理了一些常用的?Sequelize?hook?列表及其作用,希望對大家有所幫助
    2024-02-02

最新評論