반응형
노드의 서버에서 XLS를 CSV로 변환
클라이언트 측 웹 응용 프로그램이 있으며 클라이언트가 액세스할 수 없는 일부 데이터에 액세스할 수 있는 노드 서버가 매우 적습니다.이러한 기능 중 하나는 확장명이 .xls인 Excel 스프레드시트입니다.
xls를 다운로드하여 csv로 변환한 후 클라이언트로 다시 보내도록 서버를 설정하려고 합니다.다운로드 부분을 완료했고, "보내기" 부분은 확실히 알아낼 수 있지만, xls에서 csv로 변환할 수 있는 좋은 라이브러리를 아무리 찾아도 찾을 수 없습니다.
누가 간단한 방법으로 그것을 할 수 있는 도서관을 가르쳐 줄 수 있나요?엑셀 파일은 한 장일 뿐, 복잡한 문제집 같은 것은 없습니다.
아니면 제가 생각하지 않는 다른 방법이 있을까요?
이 패키지를 사용하여 XLSX를 CSV로 변환합니다. https://www.npmjs.com/package/xlsx
XLSX = require('xlsx');
const workBook = XLSX.readFile(inputFilename);
XLSX.writeFile(workBook, outputFilename, { bookType: "csv" });
제가 알고 있는 라이브러리는 없지만 node-xlsx를 사용하여 엑셀 파일을 구문 분석하고 행을 가져와 CSV를 직접 만들 수 있습니다.다음은 예입니다.
var xlsx = require('node-xlsx');
var fs = require('fs');
var obj = xlsx.parse(__dirname + '/test.xls'); // parses a file
var rows = [];
var writeStr = "";
//looping through all sheets
for(var i = 0; i < obj.length; i++)
{
var sheet = obj[i];
//loop through all rows in the sheet
for(var j = 0; j < sheet['data'].length; j++)
{
//add the row to the rows array
rows.push(sheet['data'][j]);
}
}
//creates the csv string to write it to a file
for(var i = 0; i < rows.length; i++)
{
writeStr += rows[i].join(",") + "\n";
}
//writes to a file, but you will presumably send the csv as a
//response instead
fs.writeFile(__dirname + "/test.csv", writeStr, function(err) {
if(err) {
return console.log(err);
}
console.log("test.csv was saved in the current directory!");
});
언급URL : https://stackoverflow.com/questions/34342425/convert-xls-to-csv-on-the-server-in-node
반응형
'programing' 카테고리의 다른 글
Eclipse에서 후행 공백을 자동으로 제거하는 방법은 무엇입니까? (0) | 2023.06.15 |
---|---|
dSYM은 무엇이고 어떻게 사용합니까? (iOS SDK) (0) | 2023.06.15 |
ASP.NET에서 GZip 압축을 구현하는 방법은 무엇입니까? (0) | 2023.06.15 |
세션 생성 권한 부여 방법 (0) | 2023.06.15 |
Rspec: 메서드가 호출되었는지 테스트하는 방법은 무엇입니까? (0) | 2023.06.15 |