Différents moyens d enregistrer des fichiers avec JavaScript via C++
Différentes façons d’enregistrer des fichiers
Aspose.Cells fournit le Workbook qui représente un fichier Microsoft Excel et offre les propriétés et méthodes nécessaires pour travailler avec des fichiers Excel. La classe Workbook fournit la méthode Workbook.save(string, SaveFormat) utilisée pour enregistrer des fichiers Excel. La méthode Workbook.save(string, SaveFormat) a de nombreuses surcharge qui sont utilisées pour enregistrer des fichiers de différentes manières.
Le format de fichier dans lequel le fichier est enregistré est déterminé par l’énumération SaveFormat.
| Types de formats de fichier | Description |
|---|---|
| CSV | Représente un fichier CSV |
| Excel97To2003 | Représente un fichier Excel 97 - 2003 |
| Xlsx | Représente un fichier Excel 2007 XLSX |
| Xlsm | Représente un fichier Excel 2007 XLSM |
| Xltx | Représente un modèle Excel 2007 XLTX |
| Xltm | Représente un modèle activé par macro Excel 2007 XLTM |
| Xlsb | Représente un fichier XLSB binaire Excel 2007 |
| SpreadsheetML | Représente un fichier XML de feuille de calcul |
| TSV | Représente un fichier de valeurs séparées par des tabulations |
| TabDelimited | Représente un fichier de texte à onglets |
| ODS | Représente un fichier ODS |
| Html | Représente un fichier HTML |
| MHtml | Représente un fichier MHTML |
| Représente un fichier PDF | |
| XPS | Représente un document XPS |
| TIFF | Représente le format de fichier TIFF (Tagged Image File Format) |
Comment enregistrer un fichier dans différents formats
Pour enregistrer des fichiers dans un emplacement de stockage, spécifiez le nom du fichier (avec le chemin de stockage complet) et le format de fichier souhaité (de l’énumération SaveFormat) lors de l’appel à la méthode Workbook.save(string, SaveFormat) de l’objet Workbook.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Aspose.Cells Save Formats Example</title>
<style>
body { font-family: Arial, sans-serif; margin: 20px; }
#downloadLinks a { display: block; margin: 6px 0; }
</style>
</head>
<body>
<h1>Aspose.Cells Save Formats Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.xlsb,.ods" />
<button id="runExample">Save in Multiple Formats</button>
<div id="result"></div>
<div id="downloadLinks"></div>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, XlsSaveOptions } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const result = document.getElementById('result');
const downloadLinks = document.getElementById('downloadLinks');
downloadLinks.innerHTML = '';
result.innerHTML = '';
if (!fileInput.files.length) {
result.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Load your source workbook
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Prepare format list to save
const formats = [
{ format: SaveFormat.Excel97To2003, name: 'output.xls', options: new XlsSaveOptions() },
{ format: SaveFormat.Xlsx, name: 'output.xlsx' },
{ format: SaveFormat.Xlsb, name: 'output.xlsb' },
{ format: SaveFormat.Ods, name: 'output.ods' },
{ format: SaveFormat.Pdf, name: 'output.pdf' },
{ format: SaveFormat.Html, name: 'output.html' },
{ format: SaveFormat.SpreadsheetML, name: 'output.xml' }
];
// Save in each format and create download link
for (let i = 0; i < formats.length; i++) {
const f = formats[i];
let outputData;
if (f.options) {
outputData = workbook.save(f.format, f.options);
} else {
outputData = workbook.save(f.format);
}
const blob = new Blob([outputData]);
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = f.name;
link.textContent = 'Download ' + f.name;
downloadLinks.appendChild(link);
}
result.innerHTML = '<p style="color: green;">Files saved in memory. Click the download links below to download each format.</p>';
});
</script>
</html>
Comment enregistrer un classeur au format PDF
Le Format de Document Portable (PDF) est un type de document créé par Adobe dans les années 1990. L’objectif de ce format de fichier était d’introduire une norme pour la représentation de documents et autres matériaux de référence dans un format indépendant du logiciel applicatif, du matériel ainsi que du système d’exploitation. Le format PDF a la pleine capacité de contenir des informations telles que texte, images, hyperliens, champs de formulaire, médias riches, signatures numériques, pièces jointes, métadonnées, fonctionnalités géospatiales, et objets 3D pouvant devenir partie du document source.
Le code suivant montre comment sauvegarder un classeur en tant que fichier PDF avec Aspose.Cells :
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells Example - Save to PDF and PDF/A-1a</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<div>
<a id="downloadLink1" style="display: none; margin-right: 10px;"></a>
<a id="downloadLink2" style="display: none;"></a>
</div>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, PdfSaveOptions, PdfCompliance } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate Workbook from uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access the first worksheet and set value to A1
const worksheet = workbook.worksheets.get(0);
const cell = worksheet.cells.get("A1");
cell.value = "Hello World!";
// Save as PDF (first file)
const outputData1 = workbook.save(SaveFormat.Pdf);
const blob1 = new Blob([outputData1], { type: 'application/pdf' });
const downloadLink1 = document.getElementById('downloadLink1');
downloadLink1.href = URL.createObjectURL(blob1);
downloadLink1.download = 'pdf1.pdf';
downloadLink1.style.display = 'inline';
downloadLink1.textContent = 'Download pdf1.pdf';
// Save as PDF with PDF/A-1a compliance
const saveOptions = new PdfSaveOptions();
saveOptions.compliance = PdfCompliance.PdfA1a;
const outputData2 = workbook.save(SaveFormat.Pdf, saveOptions);
const blob2 = new Blob([outputData2], { type: 'application/pdf' });
const downloadLink2 = document.getElementById('downloadLink2');
downloadLink2.href = URL.createObjectURL(blob2);
downloadLink2.download = 'pdfa1a.pdf';
downloadLink2.style.display = 'inline';
downloadLink2.textContent = 'Download pdfa1a.pdf';
document.getElementById('result').innerHTML = '<p style="color: green;">PDF files generated successfully. Use the download links above.</p>';
});
</script>
</html>
Comment enregistrer le classeur au format texte ou CSV
Parfois, vous souhaitez convertir ou enregistrer un classeur avec plusieurs feuilles de calcul au format texte. Pour les formats texte (par exemple TXT, TabDelim, CSV, etc.), par défaut, à la fois Microsoft Excel et Aspose.Cells enregistrent uniquement le contenu de la feuille de calcul active.
L’exemple de code suivant explique comment enregistrer un classeur entier au format texte. Chargez le classeur source, qui peut être n’importe quel fichier de feuille de calcul Microsoft Excel ou OpenOffice (ainsi XLS, XLSX, XLSM, XLSB, ODS, etc.), avec n’importe quel nombre de feuilles de calcul.
Lorsque le code est exécuté, il convertit les données de toutes les feuilles du classeur au format TXT
Vous pouvez modifier le même exemple pour enregistrer votre fichier au format CSV. Par défaut, TxtSaveOptions.separator est la virgule, donc ne spécifiez pas de séparateur si vous enregistrez au format CSV. Veuillez noter : si vous utilisez la version d’évaluation et même si la propriété TxtSaveOptions.exportAllSheets est définie sur vrai, le programme n’exportera qu’une seule feuille de calcul.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Export Workbook to Txt</title>
</head>
<body>
<h1>Export Workbook to Txt Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Export to TXT</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat, TxtSaveOptions } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Load your source workbook
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Text save options. You can use any type of separator
const opts = new TxtSaveOptions();
opts.separator = '\t';
opts.exportAllSheets = true;
// Save entire workbook data into file (Tab delimited)
const outputData = workbook.save(SaveFormat.TabDelimited, opts);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'out.txt';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Text File';
document.getElementById('result').innerHTML = '<p style="color: green;">Workbook exported to TXT successfully! Click the download link to get the file.</p>';
});
</script>
</html>
Comment enregistrer un fichier en fichiers de texte avec un séparateur personnalisé
Les fichiers texte contiennent des données de feuille de calcul sans mise en forme. Le fichier est un type de fichier texte brut qui peut avoir des délimiteurs personnalisés entre ses données
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Convert Excel to CSV (with custom separator)</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, TxtSaveOptions } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Create a Workbook object and open the file from the uploaded data
const wb = new Workbook(new Uint8Array(arrayBuffer));
// Instantiate Text File's Save Options
const options = new TxtSaveOptions();
// Specify the separator
options.separator = ";";
// Save the file with the options (returns file data)
const outputData = wb.save(options);
const blob = new Blob([outputData], { type: 'text/csv' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.csv';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download CSV File';
document.getElementById('result').innerHTML = '<p style="color: green;">File converted successfully! Click the download link to get the CSV file.</p>';
});
</script>
</html>
Comment enregistrer un fichier dans un flux
Pour enregistrer des fichiers dans un flux, créez un objet MemoryStream ou FileStream et enregistrez le fichier dans cet objet flux en appelant la méthode Workbook.save(string, SaveFormat) de l’objet Workbook. Spécifiez le format de fichier souhaité en utilisant l’énumération SaveFormat lors de l’appel à la méthode Workbook.save(string, SaveFormat).
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Example Title</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Load the workbook from the selected file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Save the workbook to a binary (xlsx) and provide it as a download
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
resultDiv.innerHTML = '<p style="color: green;">Operation completed successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>
Comment enregistrer un fichier Excel en fichiers Html et Mht
Aspose.Cells peut simplement enregistrer un fichier Excel, JSON, CSV ou d’autres fichiers pouvant être chargés par Aspose.Cells en fichiers .html et .mht.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells MHTML Save Example</title>
</head>
<body>
<h1>Save Workbook to MHTML Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Run Example</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object by opening the Excel file through the file stream
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Saving the workbook to MHTML format
const outputData = workbook.save(SaveFormat.MHtml);
const blob = new Blob([outputData], { type: 'application/octet-stream' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'out.mht';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download MHTML File';
resultDiv.innerHTML = '<p style="color: green;">Workbook saved to MHTML format successfully! Click the download link to get the file.</p>';
});
</script>
</html>
Comment enregistrer un fichier Excel au format OpenOffice (ODS, SXC, FODS, OTS)
Nous pouvons enregistrer les fichiers au format OpenOffice : ODS, SXC, FODS, OTS, etc.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells Convert to ODS/SXC/FODS</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Convert and Save</button>
<div>
<a id="downloadOds" style="display: none; margin-right: 10px;">Download ODS File</a>
<a id="downloadSxc" style="display: none; margin-right: 10px;">Download SXC File</a>
<a id="downloadFods" style="display: none;">Download FODS File</a>
</div>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate Workbook from uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Save as ODS
const odsData = workbook.save(SaveFormat.Ods);
const odsBlob = new Blob([odsData]);
const downloadOds = document.getElementById('downloadOds');
downloadOds.href = URL.createObjectURL(odsBlob);
downloadOds.download = 'Out.ods';
downloadOds.style.display = 'inline-block';
downloadOds.textContent = 'Download ODS File';
// Save as SXC
const sxcData = workbook.save(SaveFormat.Sxc);
const sxcBlob = new Blob([sxcData]);
const downloadSxc = document.getElementById('downloadSxc');
downloadSxc.href = URL.createObjectURL(sxcBlob);
downloadSxc.download = 'Out.sxc';
downloadSxc.style.display = 'inline-block';
downloadSxc.textContent = 'Download SXC File';
// Save as FODS
const fodsData = workbook.save(SaveFormat.Fods);
const fodsBlob = new Blob([fodsData]);
const downloadFods = document.getElementById('downloadFods');
downloadFods.href = URL.createObjectURL(fodsBlob);
downloadFods.download = 'Out.fods';
downloadFods.style.display = 'inline-block';
downloadFods.textContent = 'Download FODS File';
resultDiv.innerHTML = '<p style="color: green;">Files ready. Click the download links to save the converted files.</p>';
});
</script>
</html>
Comment enregistrer un fichier Excel en JSON ou XML
JSON (JavaScript Object Notation) est un format de fichier standard ouvert pour le partage de données qui utilise un texte lisible par l’homme pour stocker et transmettre des données. Les fichiers JSON sont stockés avec l’extension .json. JSON nécessite moins de mise en forme et est une bonne alternative à XML. JSON est dérivé de JavaScript mais est un format de données indépendant du langage. La génération et l’analyse du JSON sont prises en charge par de nombreux langages de programmation modernes. application/json est le type de support utilisé pour JSON.
Aspose.Cells prend en charge l’enregistrement de fichiers en JSON ou XML.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells JSON Export Example</title>
</head>
<body>
<h1>Convert Excel to JSON</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Convert to JSON</button>
<a id="downloadLink" style="display: none;">Download Result</a>
<div id="result"></div>
</body>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, SaveFormat } = AsposeCells;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate Workbook from uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Save workbook as JSON
const outputData = workbook.save(SaveFormat.Json);
const blob = new Blob([outputData], { type: 'application/json' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'book1.json';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download JSON File';
document.getElementById('result').innerHTML = '<p style="color: green;">Conversion completed successfully! Click the download link to get the JSON file.</p>';
});
</script>
</html>