Modi diversi per salvare file con JavaScript tramite C++
Diversi modi per salvare i file
Aspose.Cells fornisce il Workbook che rappresenta un file Microsoft Excel e fornisce le proprietà e i metodi necessari per lavorare con i file Excel. La classe Workbook fornisce il metodo Workbook.save(string, SaveFormat) usato per salvare i file Excel. Il metodo Workbook.save(string, SaveFormat) ha molte sovraccarichi utilizzati per salvare i file in modi diversi.
Il formato del file in cui il file viene salvato è deciso dall’enumerazione SaveFormat
| Tipi di formato file | Descrizione |
|---|---|
| CSV | Rappresenta un file CSV |
| Excel97To2003 | Rappresenta un file Excel 97 - 2003 |
| Xlsx | Rappresenta un file Excel 2007 XLSX |
| Xlsm | Rappresenta un file Excel 2007 XLSM |
| Xltx | Rappresenta un modello di Excel 2007 XLTX |
| Xltm | Rappresenta un file XLTM abilitato per macro di Excel 2007 |
| Xlsb | Rappresenta un file XLSB binario di Excel 2007 |
| SpreadsheetML | Rappresenta un file XML di fogli di calcolo |
| TSV | Rappresenta un file di valori separati da tabulazione |
| TabDelimited | Rappresenta un file di testo delimitato da tabulazioni |
| ODS | Rappresenta un file ODS |
| Html | Rappresenta file HTML |
| MHtml | Rappresenta file MHTML |
| Rappresenta un file PDF | |
| XPS | Rappresenta un documento XPS |
| TIFF | Rappresenta il formato di file immagine TIFF (Tagged Image File Format) |
Come Salvare File in Diversi Formati
Per salvare i file in una posizione di archiviazione, specifica il nome del file (completo di percorso di archiviazione) e il formato del file desiderato (dall’enumerazione SaveFormat) quando chiami il metodo Workbook.save(string, SaveFormat) dell’oggetto 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>
Come Salvare un Workbook in Pdf
Il formato PDF (Portable Document Format) è un tipo di documento creato da Adobe negli anni ‘90. Lo scopo di questo formato di file era introdurre uno standard per la rappresentazione di documenti e altro materiale di riferimento in un formato indipendente dal software applicativo, hardware e sistema operativo. Il formato PDF può contenere testo, immagini, hyperlink, campi modulo, media ricchi, firme digitali, allegati, metadati, caratteristiche geospaziali e oggetti 3D che possono far parte del documento di origine.
Il seguente codice mostra come salvare un workbook come file PDF con 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>
Come Salvare un Workbook in Formato Testo o CSV
A volte si desidera convertire o salvare un workbook con più fogli di lavoro in formato testo. Per i formati di testo (ad esempio TXT, TabDelim, CSV, ecc.), sia Microsoft Excel che Aspose.Cells di default salvano solo i contenuti del foglio di lavoro attivo.
Il seguente esempio di codice spiega come salvare un intero workbook in formato testo. Carica il workbook di origine, che può essere qualsiasi file di foglio di calcolo Microsoft Excel o OpenOffice (come XLS, XLSX, XLSM, XLSB, ODS, ecc.) con qualsiasi numero di fogli di lavoro.
Quando il codice viene eseguito, converte i dati di tutti i fogli nel workbook nel formato TXT.
Puoi modificare lo stesso esempio per salvare il file in CSV. Per impostazione predefinita, TxtSaveOptions.separator è la virgola, quindi non specificare un separatore se si salva in formato CSV. Nota: se si utilizza la versione di valutazione e anche se la proprietà TxtSaveOptions.exportAllSheets è impostata su true, il programma esporta ancora solo un foglio di lavoro.
<!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>
Come salvare un file in file di testo con un separatore personalizzato
I file di testo contengono dati del foglio di calcolo senza formattazione. Il file è una sorta di file di testo semplice che può avere alcuni delimitatori personalizzati tra i suoi dati.
<!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>
Come salvare un file in uno stream
Per salvare i file in un flusso, crea un oggetto MemoryStream o FileStream e salva il file in quell’oggetto stream chiamando il metodo Workbook.save(string, SaveFormat) dell’oggetto Workbook. Specifica il formato del file desiderato usando l’enumerazione SaveFormat quando chiami il metodo 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>
Come salvare un file di Excel in file Html e Mht
Aspose.Cells può semplicemente salvare un file Excel, JSON, CSV o altri file che possono essere caricati da Aspose.Cells come file .html e .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>
Come salvare un file di Excel in OpenOffice (ODS, SXC, FODS, OTS)
Possiamo salvare i file nel formato OpenOffice: ODS, SXC, FODS, OTS, ecc.
<!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>
Come salvare un file di Excel in JSON o XML
JSON (JavaScript Object Notation) è un formato file standard aperto per la condivisione di dati che utilizza testo leggibile dall’uomo per memorizzare e trasmettere dati. I file JSON sono memorizzati con l’estensione .json. JSON richiede meno formattazione ed è una buona alternativa per XML. JSON deriva da JavaScript, ma è un formato di dati indipendente dal linguaggio. La generazione e l’analisi di JSON sono supportate da molti linguaggi di programmazione moderni. application/json è il tipo di supporto usato per JSON.
Aspose.Cells supporta il salvataggio dei file in JSON o 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>