การแปลงข้อมูล CSV เป็นไฟล์ TXT แบบธรรมดาเป็นความต้องการที่พบบ่อยเมื่อสร้างสายงานข้อมูล, เครื่องมือรายงาน, หรือโปรแกรมส่งออกบันทึกแบบง่าย. Aspose.Cells Cloud SDK for Node.js ให้ไลบรารีที่ทรงพลังซึ่งจัดการการแปลงรูปแบบบนฝั่งเซิร์ฟเวอร์. ในคู่มือนี้คุณจะได้เรียนรู้วิธีทำการแปลง CSV เป็น TXT ใน Node.JS ทีละขั้นตอน, สำรวจวิธีการ REST แบบ cURL, ปรับแต่งตัวเลือกการเข้ารหัส, และนำแนวปฏิบัติที่ดีที่สุดด้านประสิทธิภาพไปใช้.
ความต้องการในการแปลง CSV เป็น TXT
นักพัฒนามักต้องการแปลงข้อมูล CSV แบบสเปรดชีตเป็นไฟล์ TXT ดิบสำหรับระบบ downstream ที่คาดหวังข้อความที่คั่นบรรทัดโดยไม่มีเครื่องหมายจุลภาค ความต้องการทั่วไปรวมถึง:
- High‑volume processing - ความสามารถในการจัดการไฟล์ขนาดใหญ่โดยไม่ต้องโหลดเนื้อหาทั้งหมดเข้าสู่หน่วยความจำ
- Custom character encoding - ระบบเก่า ๆ จำนวนมากต้องการ UTF‑8, ISO‑8859‑1 หรือการเข้ารหัสเฉพาะอื่น ๆ
- Automation - การแปลงต้องสามารถเรียกใช้จากแบ็กเอนด์ Node.JS ได้โดยไม่ต้องมีการแทรกแซงด้วยมือ
การใช้สคริปต์ระบบไฟล์ทั่วไปอาจทำให้เกิดข้อผิดพลาดได้อย่างรวดเร็ว โดยเฉพาะเมื่อต้องจัดการกับการเข้ารหัสที่แตกต่างกันหรือเมื่อแอปพลิเคชันทำงานในสภาพแวดล้อมคลาวด์ที่การเข้าถึงไฟล์ในเครื่องมีข้อจำกัด
เลือก Aspose.Cells Cloud SDK for Node.js สำหรับงาน
Aspose.Cells Cloud SDK for Node.js มี API ที่ขับเคลื่อนด้วย REST‑driven API ซึ่งทำงานบนคลาวด์ ทำให้ไม่ต้องติดตั้ง Office ในเครื่องท้องถิ่น ความสามารถหลักที่ตรงกับความต้องการคือ:
- การสนับสนุนการสตรีม - ไฟล์ถูกอัปโหลดและดาวน์โหลดเป็นสตรีม ลดการใช้หน่วยความจำ
- การควบคุมการเข้ารหัส - คลาส TxtSaveOptions ให้คุณระบุการเข้ารหัสข้อความที่รองรับใด ๆ
- การออกแบบพร้อมการประมวลผลเป็นชุด - คุณสามารถเรียกใช้การแปลงในลูปหรือเวิร์กโฟลว์แบบอะซิงโครนัส
SDK ทำงานร่วมกับบริการ Aspose อื่น ๆ อย่างราบรื่น และ เอกสารประกอบ และ อ้างอิง API ให้คำแนะนำโดยละเอียดสำหรับทุกวิธีการที่ใช้ในบทแนะนำนี้
CSV to TXT ใน Node.JS: การดำเนินการ
ด้านล่างเป็นการสรุปสั้น ๆ ของกระบวนการทั้งหมด แต่ละขั้นตอนรวมถึงส่วนโค้ดสั้น ๆ ที่ดึงมาจากตัวอย่างเต็มที่อยู่ในบทความต่อไป
ติดตั้ง SDK และกำหนดค่า Credentials
ขั้นแรก ให้เพิ่มไลบรารีลงในโครงการของคุณและตั้งค่าไคลเอนต์ API ด้วย client ID และ secret ของคุณ.
npm install asposecellscloud
const { CellsApi, ApiClient, model } = require('asposecellscloud');
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const config = new ApiClient.Configuration({
clientId,
clientSecret,
basePath: 'https://api.aspose.cloud'
});
const cellsApi = new CellsApi(config);
อัปโหลดไฟล์ CSV ไปยัง Cloud Storage
อ่านไฟล์ CSV ในเครื่องและอัปโหลดไปยัง Aspose Cloud storage.
const [fs](https://docs.fileformat.com/programming/fs/) = require('fs');
const path = require('path');
const localCsvPath = path.resolve(__dirname, ‘sample.csv’); const remoteCsvPath = ‘sample.csv’; const csvData = fs.readFileSync(localCsvPath);
const uploadRequest = new model.UploadFileRequest({
path: remoteCsvPath,
file: csvData
});
await cellsApi.uploadFile(uploadRequest);
กำหนดตัวเลือกการบันทึก TXT ด้วยการเข้ารหัสแบบกำหนดเอง
สร้างอ็อบเจ็กต์ TxtSaveOptions เพื่อระบุการเข้ารหัส UTF‑8 (หรือการเข้ารหัสอื่นใดที่คุณต้องการ)
const txtSaveOptions = new model.TxtSaveOptions({
encoding: 'utf-8' // custom encoding
});
### แปลง Workbook จาก CSV เป็น TXT
เรียกใช้คำขอแปลงโดยส่งชื่อ CSV ระยะไกลและตัวเลือก TXT.
<!--[CODE_SNIPPET_START]-->
```javascript
const convertRequest = new model.ConvertWorkbookRequest({
name: remoteCsvPath,
format: 'txt',
outPath: '',
options: txtSaveOptions
});
const convertResponse = await cellsApi.convertWorkbook(convertRequest);
<!--[CODE_SNIPPET_END]-->
### ดาวน์โหลดผลลัพธ์ TXT และทำความสะอาดไฟล์ระยะไกล
เขียนเนื้อหา TXT ที่แปลงแล้วลงในไฟล์ในเครื่องและสามารถลบไฟล์ CSV ต้นฉบับจากที่เก็บบนคลาวด์ได้ตามต้องการ.
```javascript
const localTxtPath = path.resolve(__dirname, 'sample.txt');
fs.writeFileSync(localTxtPath, convertResponse.body);
const deleteRequest = new model.DeleteFileRequest({ path: remoteCsvPath });
await cellsApi.deleteFile(deleteRequest);
console.log('CSV successfully converted to TXT at:', localTxtPath);
ตัวอย่างโค้ดเต็ม: CSV เป็น TXT ใน Node.JS ด้วย Aspose.Cells
โค้ดต่อไปนี้แสดงกระบวนการทำงานทั้งหมดตั้งแต่เริ่มต้นจนจบ.
const { CellsApi, ApiClient, model } = require('asposecellscloud');
const fs = require('fs');
const path = require('path');
(async () => { // ==== Configuration ==== const clientId = ‘YOUR_CLIENT_ID’; const clientSecret = ‘YOUR_CLIENT_SECRET’; const config = new ApiClient.Configuration({ clientId, clientSecret, basePath: ‘https://api.aspose.cloud’ }); const cellsApi = new CellsApi(config);
// ==== เส้นทางไฟล์ ==== const localCsvPath = path.resolve(__dirname, ‘sample.csv’); // CSV อินพุต const remoteCsvPath = ‘sample.csv’; // เส้นทางใน Aspose Cloud storage const localTxtPath = path.resolve(__dirname, ‘sample.txt’); // TXT เอาต์พุต
// ==== Upload CSV to cloud storage ==== const csvData = fs.readFileSync(localCsvPath); const uploadRequest = new model.UploadFileRequest({ path: remoteCsvPath, file: csvData }); await cellsApi.uploadFile(uploadRequest);
// ==== Prepare TXT save options with custom encoding ====
const txtSaveOptions = new model.TxtSaveOptions({
encoding: 'utf-8' // custom encoding
});
// ==== Convert CSV to TXT ==== const convertRequest = new model.ConvertWorkbookRequest({ name: remoteCsvPath, format: ’txt’, outPath: ‘’, options: txtSaveOptions }); const convertResponse = await cellsApi.convertWorkbook(convertRequest);
// ==== บันทึกไฟล์ TXT ที่แปลงแล้วลงในเครื่องท้องถิ่น ==== fs.writeFileSync(localTxtPath, convertResponse.body);
// ==== Clean up remote file (optional) ==== const deleteRequest = new model.DeleteFileRequest({ path: remoteCsvPath }); await cellsApi.deleteFile(deleteRequest);
console.log('CSV successfully converted to TXT at:', localTxtPath);
})();
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลักของฟังก์ชัน ก่อนนำไปใช้ในโครงการของคุณ ควรอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนการติดตั้ง dependencies ทั้งหมดเรียบร้อยและทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อทีม ฝ่ายสนับสนุน เพื่อขอความช่วยเหลือ.
แปลง CSV เป็น TXT ด้วย cURL และ REST API
หากคุณต้องการใช้วิธี REST อย่างเดียว สามารถทำการแปลงเดียวกันได้ด้วยคำสั่ง cURL
1. รับการรับรองและรับ Access Token
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
2. อัปโหลด CSV ต้นฉบับ
curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/sample.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: text/csv" \
--data-binary "@sample.csv"
3. ดำเนินการแปลง
curl -X POST "https://api.aspose.cloud/v3.0/cells/sample.csv/convert?format=txt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"TxtSaveOptions": {"Encoding": "utf-8"}}' \
-o sample.txt
4. ดาวน์โหลดไฟล์ TXT ผลลัพธ์ (บันทึกโดยแฟล็ก -o แล้ว)
คำสั่งเหล่านี้แสดงกระบวนการเดียวกันโดยไม่ต้องเขียนโค้ด Node.JS สำหรับรายละเอียดเพิ่มเติม ดูที่ เอกสาร API อย่างเป็นทางการ.
ตัวเลือกการแปลง: การตั้งค่าสำหรับการส่งออก CSV เป็น TXT
SDK มีคุณสมบัติต่าง ๆ ที่คุณสามารถปรับเพื่อทำให้ผลลัพธ์ตรงตามความต้องการ
- Encoding – กำหนดชุดอักขระของไฟล์ TXT ตัวอย่างที่แสดงด้านบนใช้
'utf-8' - OutPath – หากต้องการให้ผลลัพธ์ถูกเก็บโดยตรงในคลาวด์สตอเรจ ให้ตั้งค่าเป็นเส้นทางเช่น
'output/sample.txt' - SaveFormat – แม้ว่ารูปแบบคำขอจะเป็น
'txt'คุณก็สามารถขอ'txt'พร้อมตัวคั่นที่แตกต่างกันได้ผ่านตัวเลือกเพิ่มเติม (ไม่ได้อธิบายในที่นี้)
ต่อไปนี้เป็นส่วนของโค้ดที่เปลี่ยนตำแหน่งที่จัดเก็บผลลัพธ์:
const convertRequest = new model.ConvertWorkbookRequest({
name: remoteCsvPath,
format: 'txt',
outPath: 'output/result.txt', // store in cloud storage
options: txtSaveOptions
});
สำหรับรายการคุณสมบัติที่กำหนดค่าได้ทั้งหมด โปรดดูที่คลาส TxtSaveOptions class.
สรุป
การแปลง CSV เป็น TXT ใน Node.JS จะกลายเป็นเรื่องง่ายเมื่อคุณใช้ Aspose.Cells Cloud SDK for Node.js. ไลบรารีนี้จัดการการสตรีมไฟล์, การเข้ารหัสแบบกำหนดเอง, และการโต้ตอบกับการจัดเก็บบนคลาวด์, ทำให้คุณสามารถมุ่งเน้นที่ตรรกะธุรกิจแทนการแยกวิเคราะห์ระดับต่ำ. อย่าลืมจัดหาใบอนุญาตที่เหมาะสมสำหรับการใช้งานในสภาพแวดล้อมการผลิต; ใบอนุญาตแบบชำระเงินจะเปิดใช้งานการแปลงไม่จำกัด, ในขณะที่ใบอนุญาตชั่วคราวพร้อมให้ใช้สำหรับการทดสอบที่ หน้าลิขสิทธิ์ชั่วคราว. ด้วยโค้ดและตัวอย่าง cURL ที่ให้มา, คุณสามารถผสานการส่งออก CSV เป็น TXT ไปยังบริการ Node.JS ใดก็ได้อย่างรวดเร็วและเชื่อถือได้.
คำถามที่พบบ่อย
ฉันจะจัดการการเข้ารหัสแบบกำหนดเองเมื่อแปลง CSV เป็น TXT ใน Node.JS อย่างไร?
ใช้วัตถุ TxtSaveOptions เพื่อกำหนดคุณสมบัติ encoding (เช่น 'utf-8' หรือ 'iso-8859-1'). สิ่งนี้จะทำให้ไฟล์ TXT ที่สร้างขึ้นตรงกับความคาดหวังของระบบเป้าหมาย.
ฉันสามารถประมวลผลไฟล์ CSV หลายไฟล์ในหนึ่งการทำงานได้หรือไม่?
ใช่. วางตรรกะการแปลงภายในลูป, อัปโหลดแต่ละไฟล์ CSV, เรียก convertWorkbook, และดาวน์โหลดไฟล์ TXT ที่ได้. การออกแบบแบบไม่มีสถานะของ SDK ทำให้การประมวลผลเป็นชุดง่าย.
อะไรคือข้อพิจารณาด้านประสิทธิภาพสำหรับไฟล์ CSV ขนาดใหญ่?
สตรีมการอัปโหลดและดาวน์โหลดไฟล์แทนการโหลดไฟล์ทั้งหมดเข้าสู่หน่วยความจำ SDK’s REST endpoints ทำงานกับสตรีม ลดการใช้ RAM และเพิ่มความสามารถในการขยายตัว
ต้องมีใบอนุญาตสำหรับการแปลง CSV เป็น TXT ในการผลิตหรือไม่?
จำเป็นต้องมีใบอนุญาตแบบชำระเงินสำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณสามารถรับใบอนุญาตชั่วคราวเพื่อการประเมินได้จาก หน้าลิขสิทธิ์ชั่วคราว