Excel 데이터를 CSV 로 변환하는 것은 데이터 파이프라인, 보고 도구, 또는 가져오기/내보내기 기능을 구축할 때 자주 요구되는 작업입니다. Aspose.BarCode Cloud SDK for Node.js는 XLS 를 CSV 로 변환하는 작업을 Node.JS에서 간단하고 신뢰할 수 있게 해주는 강력한 라이브러리를 제공합니다. 이 가이드는 전제 조건, 설치 단계, 완전한 작업 예제 및 모범 사례 팁을 안내하여 변환을 애플리케이션에 자신 있게 통합할 수 있도록 도와줍니다.
Node.JS와 Aspose.BarCode를 사용한 XLS를 CSV로 변환하는 전체 작업 예제
이 예제에서는 클라우드 스토리지에서 XLS 워크북을 읽고, 각 워크시트를 CSV로 변환한 다음, 결과를 클라이언트에 스트리밍하는 방법을 보여줍니다.
// Full working code for XLS to CSV conversion using Aspose.BarCode Cloud SDK
const { BarcodeApi, Configuration } = require('aspose-barcode-cloud');
const fs = require('fs');
const path = require('path');
// ==== Configuration ====
const config = new Configuration({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET",
// Optional: set a custom base URL if you use a private cloud
// baseUrl: "https://api.aspose.cloud"
});
const apiInstance = new BarcodeApi(config);
// ==== Input / Output Paths ====
const inputFile = "sample.xls"; // Path to your local XLS file
const outputFolder = "output"; // Cloud folder for CSV files
// ---- 1. Upload XLS to cloud storage ----
async function uploadFile() {
const fileData = fs.readFileSync(inputFile);
await apiInstance.uploadFile({ path: inputFile, file: fileData });
console.log(`Uploaded ${inputFile} to cloud storage.`);
}
// ---- 2. Convert XLS to CSV ----
async function convertXlsToCsv() {
// Conversion options
const options = {
storage: "Default", // Use default storage
outPath: outputFolder, // Destination folder
format: "CSV", // Target format
// Optional: delimiter, encoding, etc.
delimiter: ",",
encoding: "UTF-8"
};
// Call the conversion endpoint (hypothetical method)
const response = await apiInstance.convertDocument({
name: inputFile,
format: "csv",
options: options
});
console.log(`Conversion started. Check ${outputFolder} for CSV files.`);
return response;
}
// ---- 3. Download generated CSV files ----
async function downloadCsvFiles() {
const files = await apiInstance.getFilesList({ path: outputFolder });
for (const file of files.value) {
if (file.name.endsWith(".csv")) {
const csvData = await apiInstance.downloadFile({ path: `${outputFolder}/${file.name}` });
const localPath = path.join(__dirname, "result", file.name);
fs.mkdirSync(path.dirname(localPath), { recursive: true });
fs.writeFileSync(localPath, csvData.body);
console.log(`Downloaded ${file.name} to ${localPath}`);
}
}
}
// ==== Execution Flow ====
(async () => {
try {
await uploadFile();
await convertXlsToCsv();
await downloadCsvFiles();
console.log("XLS to CSV conversion completed successfully.");
} catch (error) {
console.error("Error during conversion:", error);
}
})();
Note: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로(
sample.xls,output)를 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참고하거나 지원 팀에게 문의하십시오.
cURL을 사용한 Cloud API를 통한 XLS에서 CSV 변환
코드 없이도 cURL을 사용하여 REST 엔드포인트를 호출함으로써 동일한 변환을 수행할 수 있습니다. 흐름은 인증, 파일 업로드, 변환 요청 및 다운로드로 구성됩니다.
# 1. Get an access token
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET" \
-H "Content-Type: application/x-www-form-urlencoded"
# Response contains "access_token"
# 2. Upload the XLS file
curl -X PUT "https://api.aspose.cloud/v3.0/barcode/storage/file/sample.xls" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-T "sample.xls"
# 3. Request XLS to CSV conversion
curl -X POST "https://api.aspose.cloud/v3.0/barcode/convert/sample.xls?format=csv&outPath=output" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
# 4. Download the generated CSV file
curl -X GET "https://api.aspose.cloud/v3.0/barcode/storage/file/output/sample.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" -o "sample.csv"
요청 매개변수에 대한 자세한 내용은 공식 API 문서를 참조하십시오.
Node.JS에서 XLS를 CSV로 변환하는 방법
- Configuration Setup -
Configuration객체는 클라이언트 자격 증명과 선택적 기본 URL을 보유합니다. 이 객체는BarcodeApi인스턴스에 전달됩니다.const config = new Configuration({ clientId, clientSecret }); const apiInstance = new BarcodeApi(config); - File Upload -
uploadFile메서드는 로컬 XLS 파일을 Aspose.BarCode 클라우드 스토리지로 스트리밍하여 변환에 사용할 수 있게 합니다.await apiInstance.uploadFile({ path: inputFile, file: fileData }); - Conversion Call -
convertDocument(가상) 메서드는 원본 파일 이름, 대상 형식(csv), 구분자 및 인코딩과 같은 변환 옵션을 포함한 요청을 보냅니다. 서비스는 각 워크시트를 처리하고 해당 CSV 파일을 생성합니다.const response = await apiInstance.convertDocument({ name: inputFile, format: "csv", options }); - Result Retrieval - 변환 후
getFilesList는 출력 폴더에 생성된 CSV 파일 목록을 반환합니다. 각 파일은downloadFile을 사용해 다운로드되어 로컬에 저장됩니다.const files = await apiInstance.getFilesList({ path: outputFolder }); const csvData = await apiInstance.downloadFile({ path: csvPath }); - Error Handling - 모든 API 오류는
catch블록에서 포착되며, 여기서 세부 정보를 로그에 기록하거나 재시도 로직을 구현할 수 있습니다. 오류 코드 전체 목록은 API reference를 참조하세요.
환경 준비 - 전제 조건 및 설정
시작하기 전에 다음 전제 조건이 충족되는지 확인하십시오.
- Node.js 14 이상 버전이 개발 머신에 설치되어 있어야 합니다.
- 유효한 클라이언트 자격 증명(클라이언트 ID 및 클라이언트 시크릿)이 있는 Aspose Cloud 계정.
- API 호출을 위한 인터넷 접속.
npm을 통해 라이브러리를 설치하고 참고용으로 다운로드 페이지에 링크하십시오:
npm install aspose-barcode-cloud
# Download package details: https://releases.aspose.cloud/barcode/nodejs/
설치 후, 자격 증명을 안전하게 저장하기 위해 구성 파일(예: config.json)을 생성합니다.
변환 매개변수: 옵션 및 설정
변환 API는 출력물을 세밀하게 조정할 수 있는 여러 선택적 매개변수를 허용합니다:
delimiter- 필드를 구분할 문자를 선택합니다 (기본값은,).
options.delimiter = "\t"; // Tab‑delimited CSV
encoding- CSV 파일의 문자 인코딩을 정의합니다 (예:UTF-8,ISO-8859-1).
options.encoding = "UTF-8";
outPath- CSV 파일이 저장될 클라우드 폴더를 지정합니다.
options.outPath = "converted";
storage- 사용자 지정 스토리지 서비스를 사용하는 경우 스토리지 이름을 선택합니다.
options.storage = "MyCustomStorage";
지원되는 옵션의 전체 목록은 API 참조를 확인하십시오.
효율적인 XLS에서 CSV 변환을 위한 실용적인 팁
- 대용량 파일 스트리밍 - 스트리밍 모드를 활성화하여 행을 청크 단위로 처리하고 메모리 사용량을 줄이세요.
- 임시 폴더 사용 - 중간 CSV 파일을 전용 클라우드 폴더에 저장하고 다운로드 후 정리합니다.
- 적절한 구분자 설정 - 데이터에 쉼표가 포함된 경우 탭 또는 파이프 구분자로 전환하여 열 정렬 오류를 방지합니다.
- 다운로드 후 검증 - 추가 처리 전에 CSV의 처음 몇 행을 확인하여 인코딩 및 구분자 사용이 올바른지 확인합니다.
Conclusion
Node.JS에서 XLS를 CSV로 변환하는 작업은 Aspose.BarCode Cloud SDK for Node.js의 기능을 활용하면 간단해집니다. 이 가이드는 환경 설정부터 완전한 작업 예제, 구성 옵션 및 성능 중심 모범 사례에 이르기까지 모든 내용을 다루었습니다. 클라이언트 자격 증명을 안전하게 보관하고, 대용량 워크북의 경우 스트리밍을 선택하며, 클라우드 스토리지를 깔끔하게 유지하기 위해 임시 파일을 정리하는 것을 기억하세요. 프로덕션 배포를 위해서는 유료 라이선스가 필요하며, 제품 페이지에서 가격을 확인하고 임시 라이선스 페이지에서 임시 평가 라이선스를 얻을 수 있습니다.
FAQ
Node.JS에서 XLS를 CSV로 변환할 때 여러 워크시트를 어떻게 처리하나요?
라이브러리는 각 워크시트를 순차적으로 처리하여 각 시트마다 별도의 CSV 파일을 생성합니다. 단일 CSV 파일이 필요할 경우 나중에 파일을 병합할 수 있습니다. 자세한 사용법은 Aspose.BarCode Cloud SDK for Node.js를 참조하세요.
전체 워크북을 메모리에 로드하지 않고 큰 XLS 파일을 CSV로 스트리밍할 수 있나요?
예. 변환 매개변수에서 스트리밍 옵션을 활성화하면 API가 행을 관리 가능한 청크로 읽어 메모리 사용량을 낮게 유지하고 성능을 높게 유지합니다.
생산 환경에서 Aspose.BarCode Cloud SDK for Node.js를 사용하려면 어떤 라이선스가 필요합니까?
생산 환경에서 사용하려면 상업용 라이선스가 필요합니다. 구매 옵션은 제품 가격 페이지에 나와 있으며, 임시 라이선스 페이지에서 요청할 수 있습니다.
변환 중에 CSV 구분자를 사용자 정의할 수 있나요?
물론입니다. 변환 매개변수에서 delimiter 옵션을 원하는 문자(예: 탭(\t) 또는 파이프(|))로 설정하십시오. 이렇게 하면 생성된 CSV가 다운스트림 처리 기대치에 맞게 됩니다.