>  기사  >  웹 프론트엔드  >  Node에서 Excel 콘텐츠를 얻는 방법

Node에서 Excel 콘텐츠를 얻는 방법

亚连
亚连원래의
2018-06-14 11:42:061435검색

이 글에서는 Node를 사용하여 일련의 단순 반복 문제를 해결하고 Excel 콘텐츠를 얻는 방법에 대한 정보를 주로 소개합니다. 이 글은 모든 사람의 학습이나 업무에 대한 특정 참고 학습 가치를 제공합니다. 필요하신 분 아래에서 함께 공부해 보세요.

원인--Lazy

최근 프로젝트에서는 다국어 번역이 자주 사용되는데, iOS의 다국어 적응은 지정된 번역으로 만들어진 일련의 테이블을 기본적으로 제공하도록 설계되었습니다. 해당 언어 파일에 비트 단위로 복사하는 등, 특히 수요가 중첩되고 해당 번역이 많은 경우 하나씩 복사하여 붙여넣는 것은 매우 시간이 많이 걸리고 힘든 작업입니다. 게다가 다국어 오류는 해결하기가 쉽지 않아 사실상 테스트 부담이 가중됩니다. 이때 문득 스크립트 언어를 사용하여 처리하고 내가 원하는 분야에 직접 연결할 수 있다는 생각이 들었습니다. 이 문제는 한 번만 해결하면 되는 것 아닌가요? 아래에서는 할 말이 많지 않으니, 자세한 소개를 살펴보겠습니다.

Environment: Node.jsFramework:

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

Logic:

Excel 테이블 스타일

위와 같이 출력 스타일을 기대하세요

사진에서와 같이 직접 꺼내세요 ​해당 값은 원하는 출력 형식으로 연결됩니다.

코드

'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);
 //读取文件内容
 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');
 //将文件内容插入新的文件中
 fs.writeFileSync('language.text', languageStr, { encoding: "utf8" });
}
로직은 비교적 이해하기 쉽네요. 더 이상 자세히 설명하지 않겠습니다. 파싱할 엑셀을 노드 프로젝트 폴더에 드래그해서 실행하시면 됩니다. 위 내용은 모두를 위해 제가 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

webpack의 vue 프로젝트 리소스 파일과 관련된 404개 문제 보고(자세한 튜토리얼)

vue.js에 vux를 통합하여 풀업 로딩 및 풀다운 새로 고침을 구현하는 방법

방법 Gulp를 사용하여 정적을 달성하려면 웹 페이지의 모듈화를 구현하는 방법은 무엇입니까?

위 내용은 Node에서 Excel 콘텐츠를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.