La conversion des données CSV en fichiers texte simples TXT est un besoin fréquent lors de la création de pipelines de données, d’outils de reporting ou d’exportateurs de journaux simples. Aspose.Cells Cloud SDK for Node.js fournit une bibliothèque puissante qui prend en charge le travail lourd de la conversion de formats côté serveur. Dans ce guide, vous apprendrez comment réaliser la conversion CSV vers TXT en Node.JS étape par étape, explorer une approche REST basée sur cURL, ajuster les options d’encodage et appliquer les meilleures pratiques de performance.
Exigences de conversion CSV vers TXT
Les développeurs doivent souvent convertir des données CSV de type feuille de calcul en fichiers TXT bruts pour des systèmes en aval qui attendent du texte délimité par des lignes sans virgules. Les exigences typiques incluent :
- Traitement à haut volume - la capacité de gérer de gros fichiers sans charger l’intégralité du contenu en mémoire.
- Encodage de caractères personnalisé - de nombreux systèmes hérités nécessitent UTF‑8, ISO-8859‑1, ou d’autres encodages spécifiques.
- Automatisation - la conversion doit pouvoir être appelée depuis un backend Node.JS sans intervention manuelle.
L’utilisation de scripts génériques du système de fichiers peut rapidement devenir source d’erreurs, surtout lorsqu’il s’agit de gérer différents encodages ou lorsque l’application s’exécute dans un environnement cloud où l’accès aux fichiers locaux est limité.
Choisir Aspose.Cells Cloud SDK for Node.js pour le travail
Aspose.Cells Cloud SDK for Node.js propose une API basée sur REST qui s’exécute dans le cloud, éliminant ainsi le besoin d’installations locales d’Office. Les principales fonctionnalités qui correspondent aux exigences sont :
- Prise en charge du streaming - les fichiers sont téléversés et téléchargés sous forme de flux, réduisant l’empreinte mémoire.
- Contrôle de l’encodage - la classe TxtSaveOptions vous permet de spécifier n’importe quel encodage texte pris en charge.
- Conception prête pour le traitement par lots - vous pouvez invoquer la conversion dans des boucles ou des flux de travail asynchrones.
Le SDK s’intègre parfaitement aux autres services Aspose, et la documentation complète et la référence API offrent des instructions détaillées pour chaque méthode utilisée dans ce tutoriel.
CSV to TXT in Node.JS : Implémentation
Voici un aperçu concis de l’ensemble du processus. Chaque étape comprend un court extrait de code tiré directement de l’exemple complet présenté plus loin dans l’article.
Installer le SDK et configurer les informations d’identification
Tout d’abord, ajoutez la bibliothèque à votre projet et configurez le client API avec votre ID client et votre 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);
Téléverser le fichier CSV vers le stockage cloud
Lire le fichier CSV local et le téléverser vers le stockage 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);
Définir les options d’enregistrement TXT avec un encodage personnalisé
Créez un objet TxtSaveOptions pour spécifier l’encodage UTF‑8 (ou tout autre dont vous avez besoin).
const txtSaveOptions = new model.TxtSaveOptions({
encoding: 'utf-8' // custom encoding
});
<!--[CODE_SNIPPET_END]-->
### Convert Workbook From CSV to TXT
Invoke the conversion request, passing the remote CSV name and the TXT options.
<!--[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]-->
### Télécharger le résultat TXT et nettoyer le fichier distant
Écrivez le contenu TXT converti dans un fichier local et supprimez éventuellement le CSV source du stockage cloud.
<!--[CODE_SNIPPET_START]-->
```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);
<!--[CODE_SNIPPET_END]-->
## Complete Code Example: CSV to TXT in Node.JS Using Aspose.Cells
The following code demonstrates the entire workflow from start to finish.
<!--[COMPLETE_CODE_SNIPPET_START]-->
```javascript
const { CellsApi, ApiClient, model } = require('asposecellscloud');
const fs = require('fs');
const path = require('path');
```javascript
(async () => {
// ==== Configuration ====
const clientId = 'YOUR_CLIENT_ID';
const clientSecret = 'YOUR_CLIENT_SECRET';
const [config](https://docs.fileformat.com/programming/config/) = new ApiClient.Configuration({
clientId,
clientSecret,
basePath: 'https://api.aspose.cloud'
});
const cellsApi = new CellsApi(config);
// ==== Chemins de fichiers ==== const localCsvPath = path.resolve(__dirname, ‘sample.csv’); // CSV d’entrée const remoteCsvPath = ‘sample.csv’; // chemin dans le stockage Aspose Cloud const localTxtPath = path.resolve(__dirname, ‘sample.txt’); // TXT de sortie
// ==== Téléverser le CSV vers le stockage cloud ==== const csvData = fs.readFileSync(localCsvPath); const uploadRequest = new model.UploadFileRequest({ path: remoteCsvPath, file: csvData }); await cellsApi.uploadFile(uploadRequest);
// ==== Préparer les options d’enregistrement TXT avec un encodage personnalisé ==== const txtSaveOptions = new model.TxtSaveOptions({ encoding: ‘utf-8’ // encodage personnalisé });
// ==== Convert CSV to TXT ==== const convertRequest = new model.ConvertWorkbookRequest({ name: remoteCsvPath, format: ’txt’, outPath: ‘’, options: txtSaveOptions }); const convertResponse = await cellsApi.convertWorkbook(convertRequest);
// ==== Enregistrez le TXT converti localement ==== fs.writeFileSync(localTxtPath, convertResponse.body);
// ==== Nettoyer le fichier distant (facultatif) ==== const deleteRequest = new model.DeleteFileRequest({ path: remoteCsvPath }); await cellsApi.deleteFile(deleteRequest);
console.log('CSV successfully converted to TXT at:', localTxtPath);
})();
Note : Cet exemple de code montre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées, et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.
Conversion de CSV en TXT avec cURL et l’API REST
Si vous préférez une approche purement REST, la même conversion peut être effectuée avec des commandes cURL.
1. Authentifier et obtenir le jeton d’accès
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. Télécharger le CSV source
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. Exécuter la conversion
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. Télécharger le TXT de sortie (déjà enregistré par le drapeau -o)
Ces commandes illustrent le même flux sans écrire de code Node.JS. Pour plus de détails, consultez la documentation API officielle.
Options de conversion : paramètres pour l’exportation CSV vers TXT
Le SDK expose plusieurs propriétés que vous pouvez ajuster pour affiner le résultat.
- Encoding – Détermine le jeu de caractères du fichier TXT. L’exemple ci‑dessus utilise
'utf-8'. - OutPath – Si vous souhaitez que le résultat soit stocké directement dans le stockage cloud, définissez un chemin comme
'output/sample.txt'. - SaveFormat – Bien que le format de la requête soit
'txt', vous pouvez également demander'txt'avec des délimiteurs différents via des options supplémentaires (non couvertes ici).
Voici un extrait qui modifie l’emplacement de sortie :
const convertRequest = new model.ConvertWorkbookRequest({
name: remoteCsvPath,
format: 'txt',
outPath: 'output/result.txt', // store in cloud storage
options: txtSaveOptions
});
Pour une liste complète des propriétés configurables, consultez la classe TxtSaveOptions.
Conclusion
Convertir CSV en TXT dans Node.JS devient simple lorsque vous utilisez le Aspose.Cells Cloud SDK for Node.js. La bibliothèque gère le streaming de fichiers, l’encodage personnalisé et l’interaction avec le stockage cloud, vous permettant de vous concentrer sur la logique métier plutôt que sur l’analyse de bas niveau. N’oubliez pas d’obtenir une licence appropriée pour la production ; une licence payante débloque des conversions illimitées, tandis qu’une licence temporaire est disponible pour les tests sur la page de licence temporaire. Avec le code et les exemples cURL fournis, vous pouvez intégrer l’exportation CSV vers TXT dans n’importe quel service Node.JS rapidement et de manière fiable.
FAQ
Comment gérer l’encodage personnalisé lors de la conversion de CSV en TXT avec Node.JS ?
Utilisez l’objet TxtSaveOptions pour définir la propriété encoding (par exemple, 'utf-8' ou 'iso-8859-1'). Cela garantit que le fichier TXT généré correspond aux attentes du système cible.
Puis-je traiter plusieurs fichiers CSV en une seule exécution ?
Oui. Placez la logique de conversion dans une boucle, en téléchargeant chaque CSV, en invoquant convertWorkbook et en téléchargeant le TXT résultant. La conception sans état du SDK rend le traitement par lots simple.
Quelles sont les considérations de performance pour les gros fichiers CSV ?
Diffusez le téléchargement et le téléversement du fichier sous forme de flux au lieu de charger le fichier complet en mémoire. Les points de terminaison REST du SDK fonctionnent avec des flux, réduisant l’utilisation de la RAM et améliorant l’évolutivité.
Une licence est‑elle requise pour la conversion CSV en TXT en production ?
Une licence payante est requise pour les déploiements en production. Vous pouvez obtenir une licence temporaire pour l’évaluation depuis la page de licence temporaire.