การแปลงข้อมูล 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 ในการผลิตหรือไม่?
จำเป็นต้องมีใบอนุญาตแบบชำระเงินสำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณสามารถรับใบอนุญาตชั่วคราวเพื่อการประเมินได้จาก หน้าลิขสิทธิ์ชั่วคราว

Read More