تحويل بيانات CSV إلى ملفات TXT بسيطة هو حاجة متكررة عند بناء خطوط أنابيب البيانات، أدوات التقارير، أو مصدّرات السجلات البسيطة. يوفر Aspose.Cells Cloud SDK for Node.js مكتبة قوية تتولى العبء الثقيل لتحويل الصيغ على جانب الخادم. في هذا الدليل ستتعلم كيفية تنفيذ تحويل CSV إلى TXT في Node.JS خطوة بخطوة، استكشاف نهج REST القائم على cURL، تعديل خيارات الترميز، وتطبيق أفضل ممارسات الأداء.

متطلبات تحويل CSV إلى TXT

غالبًا ما يحتاج المطورون إلى تحويل بيانات CSV على نمط الجداول إلى ملفات TXT خام للأنظمة اللاحقة التي تتوقع نصًا مفصولًا بالأسطر دون فواصل. تشمل المتطلبات النموذجية:

  • معالجة عالية‑الحجم - القدرة على معالجة ملفات كبيرة دون تحميل المحتوى بالكامل في الذاكرة.
  • ترميز الأحرف المخصص - تتطلب العديد من الأنظمة القديمة UTF‑8، ISO‑8859‑1، أو ترميزات محددة أخرى.
  • الأتمتة - يجب أن تكون عملية التحويل قابلة للاستدعاء من خلفية Node.JS دون تدخل يدوي.

استخدام سكريبتات نظام الملفات العامة يمكن أن يصبح سريعًا عرضة للأخطاء، خاصةً عند التعامل مع ترميزات مختلفة أو عندما يعمل التطبيق في بيئة سحابية حيث يكون الوصول إلى الملفات المحلية محدودًا.

اختيار Aspose.Cells Cloud SDK for Node.js للوظيفة

Aspose.Cells Cloud SDK for Node.js يقدم واجهة برمجة تطبيقات REST‑driven تعمل في السحابة، مما يلغي الحاجة إلى تثبيتات Office المحلية. القدرات الرئيسية التي تتطابق مع المتطلبات هي:

  • دعم البث - يتم تحميل الملفات وتنزيلها كتيارات، مما يقلل من استهلاك الذاكرة.
  • التحكم في الترميز - تسمح لك فئة TxtSaveOptions بتحديد أي ترميز نصي مدعوم.
  • تصميم جاهز للدفعات - يمكنك استدعاء التحويل في حلقات أو سير عمل غير متزامن.

يتكامل SDK بسلاسة مع خدمات Aspose الأخرى، وتوفر الوثائق الشاملة الوثائق ومرجع API إرشادات مفصلة لكل طريقة مستخدمة في هذا البرنامج التعليمي.

CSV to TXT in Node.JS: Implementation

فيما يلي نظرة مختصرة على العملية بأكملها. كل خطوة تتضمن مقتطفًا قصيرًا من الكود مأخوذًا مباشرةً من المثال الكامل لاحقًا في المقال.

تثبيت SDK وتكوين الاعتمادات

أولاً، أضف المكتبة إلى مشروعك وقم بإعداد عميل API باستخدام معرّف العميل والسر.

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 إلى التخزين السحابي

قراءة ملف CSV المحلي وتحميله إلى تخزين Aspose Cloud.

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
});
### تحويل دفتر العمل من CSV إلى TXT
استدعِ طلب التحويل، مع تمرير اسم ملف CSV البعيد وخيارات TXT.

```javascript
const convertRequest = new model.ConvertWorkbookRequest({
    name: remoteCsvPath,
    format: 'txt',
    outPath: '',
    options: txtSaveOptions
});
const convertResponse = await cellsApi.convertWorkbook(convertRequest);

### تنزيل نتيجة 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 الإخراج
// ==== تحميل CSV إلى التخزين السحابي ====
const csvData = fs.readFileSync(localCsvPath);
const uploadRequest = new model.UploadFileRequest({
    path: remoteCsvPath,
    file: csvData
});
await cellsApi.uploadFile(uploadRequest);
// ==== تحضير خيارات حفظ TXT بترميز مخصص ====
    const txtSaveOptions = new model.TxtSaveOptions({
        encoding: 'utf-8'          // ترميز مخصص
    });

// ==== 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);

// ==== تنظيف الملف البعيد (اختياري) ==== const deleteRequest = new model.DeleteFileRequest({ path: remoteCsvPath }); await cellsApi.deleteFile(deleteRequest);

console.log(‘CSV successfully converted to TXT at:’, localTxtPath); })();

<!--[COMPLETE_CODE_SNIPPET_END]-->

> **ملاحظة:** يوضح مثال الشيفرة هذا الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث أي مسارات ملفات وقيم إعدادات لتتناسب مع بيئتك الفعلية، وتحقق من أن جميع الاعتمادات المطلوبة مثبتة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشاكل، يرجى الرجوع إلى [الوثائق الرسمية](https://docs.aspose.cloud/cells/) أو التواصل مع [فريق الدعم](https://forum.aspose.cloud/c/cells/7) للحصول على المساعدة.

## تحويل CSV إلى TXT باستخدام cURL وواجهة برمجة التطبيقات REST
إذا كنت تفضل نهج REST النقي، يمكن إجراء نفس التحويل باستخدام أوامر cURL.

### 1. المصادقة والحصول على رمز الوصول
```bash
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
});
<!--[CODE_SNIPPET_END]-->

للحصول على قائمة كاملة بالخصائص القابلة للتكوين، راجع [TxtSaveOptions class](https://reference.aspose.cloud/cells/model/TxtSaveOptions/).

## الخلاصة
تحويل CSV إلى TXT في Node.JS يصبح بسيطًا عندما تستفيد من Aspose.Cells Cloud SDK for Node.js. تتولى المكتبة معالجة تدفق الملفات، والترميز المخصص، والتفاعل مع التخزين السحابي، مما يتيح لك التركيز على منطق الأعمال بدلاً من التحليل منخفض المستوى. تذكر أن تحصل على ترخيص مناسب للاستخدام في الإنتاج؛ الترخيص المدفوع يفتح تحويلات غير محدودة، بينما يتوفر ترخيص مؤقت للاختبار في [صفحة الترخيص المؤقت](https://purchase.aspose.com/temporary-license/). مع الكود وأمثلة cURL المقدمة، يمكنك دمج تصدير CSV إلى TXT في أي خدمة Node.JS بسرعة وموثوقية.

## FAQs
**كيف يمكنني التعامل مع الترميز المخصص عند تحويل CSV إلى TXT في Node.JS؟**  
استخدم كائن `TxtSaveOptions` لتعيين خاصية `encoding` (على سبيل المثال، `'utf-8'` أو `'iso-8859-1'`). يضمن ذلك أن ملف TXT المُولد يتطابق مع توقعات النظام المستهدف.

**هل يمكنني معالجة ملفات CSV متعددة في تشغيل واحد؟**  
نعم. ضع منطق التحويل داخل حلقة، قم بتحميل كل ملف CSV، واستدعاء `convertWorkbook`، ثم تحميل ملف TXT الناتج. التصميم غير المتحكم في الحالة لـ SDK يجعل المعالجة الدفعية بسيطة.

**ما هي الاعتبارات المتعلقة بالأداء لملفات CSV الكبيرة؟**  
قم ببث تحميل وتنزيل الملف بدلاً من تحميل الملف بالكامل في الذاكرة. تعمل نقاط النهاية REST الخاصة بـ SDK مع البث، مما يقلل من استخدام الذاكرة RAM ويحسن القابلية للتوسع.

**هل يلزم وجود ترخيص لتحويل CSV إلى TXT في بيئة الإنتاج؟**  
يتطلب النشر في بيئة الإنتاج ترخيصًا مدفوعًا. يمكنك الحصول على ترخيص مؤقت للتقييم من [صفحة الترخيص المؤقت](https://purchase.aspose.com/temporary-license/).

## اقرأ المزيد
- [تحويل XLSM إلى CSV باستخدام Node.js | تحويل ماكرو Excel إلى CSV](https://blog.aspose.cloud/ar/cells/convert-xlsm-to-csv-in-nodejs/)
- [تحويل CSV إلى JSON باستخدام Node.js Cloud API | تصدير CSV إلى JSON عبر الإنترنت](https://blog.aspose.cloud/ar/cells/convert-csv-to-json-with-nodejs/)
- [تحويل Excel إلى ملف نصي (.txt) باستخدام Node.js | API تحويل Excel إلى TXT](https://blog.aspose.cloud/ar/cells/convert-excel-to-txt-in-nodejs/)