Aprire file di diverse versioni di Microsoft Excel con JavaScript tramite C++
Come aprire file di diverse versioni di Microsoft Excel
Un’applicazione spesso deve poter aprire file Microsoft Excel creati in versioni differenti, per esempio Microsoft Excel 95, 97, o Microsoft Excel 2007/2010/2013/2016/2019 e Office 365. Potrebbe essere necessario caricare un file in uno dei vari formati, inclusi XLS, XLSX, XLSM, XLSB, SpreadsheetML, TabDelimited o TSV, CSV, ODS e altri. Usa il costruttore, o specifica l’attributo di tipo fileFormat della classe Workbook che indica il formato usando l’enumerazione FileFormatType.
L’enumerazione FileFormatType contiene molti formati di file predefiniti, alcuni dei quali sono i seguenti.
| Tipi di formato file | Descrizione |
|---|---|
| Csv | Rappresenta un file CSV |
| Excel97To2003 | Rappresenta un file Excel 97 - 2003 |
| Xlsx | Rappresenta un file XLSX Excel 2007/2010/2013/2016/2019 e Office 365 |
| Xlsm | Rappresenta un file XLSM Excel 2007/2010/2013/2016/2019 e Office 365 |
| Xltx | Rappresenta un file modello XLTX di Excel 2007/2010/2013/2016/2019 e Office 365 |
| Xltm | Rappresenta un file XLTM macro abilitato di Excel 2007/2010/2013/2016/2019 e Office 365 |
| Xlsb | Rappresenta un file XLSB binario di Excel 2007/2010/2013/2016/2019 e Office 365 |
| SpreadsheetML | Rappresenta un file SpreadsheetML |
| Tsv | Rappresenta un file di valori separati da tabulazioni |
| TabDelimited | Rappresenta un file di testo delimitato da tabulazioni |
| Ods | Rappresenta un file ODS |
| Html | Rappresenta un file HTML |
| Mhtml | Rappresenta un file MHTML |
Apri file Microsoft Excel 95/5.0
Per aprire un file Microsoft Excel 95/5.0, usa LoadOptions e imposta l’attributo correlato per la classe LoadOptions del file di modello da caricare. Un file di esempio per testare questa funzione può essere scaricato dal seguente link:
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Open Excel95_5.0.xls Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Open Workbook</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, LoadOptions, LoadFormat, Worksheet, Cell, Utils } = 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 LoadOptions specified by the LoadFormat.
const loadOptions1 = new LoadOptions(LoadFormat.Auto);
// Create a Workbook object and opening the file from the stream
const wbExcel95 = new Workbook(new Uint8Array(arrayBuffer), loadOptions1);
console.log("Microsoft Excel 95/5.0 workbook opened successfully!");
document.getElementById('result').innerHTML = '<p style="color: green;">Microsoft Excel 95/5.0 workbook opened successfully!</p>';
});
</script>
</html>
Apri file Microsoft Excel 97 - 2003
Per aprire un file Microsoft Excel 97 - 2003, usa LoadOptions e imposta l’attributo correlato per la classe LoadOptions del file di modello da caricare.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Open Excel 97-2003 Workbook 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, LoadOptions, LoadFormat, SaveFormat, Utils } = 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 97-2003 (.xls) file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
const loadOptions1 = new LoadOptions(LoadFormat.Excel97To2003);
const wbExcel97 = new Workbook(new Uint8Array(arrayBuffer), loadOptions1);
document.getElementById('result').innerHTML = '<p style="color: green;">Microsoft Excel 97 - 2003 workbook opened successfully!</p>';
const outputData = wbExcel97.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData], { type: 'application/vnd.ms-excel' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
});
</script>
</html>
Apri file XLSX di Microsoft Excel 2007/2010/2013/2016/2019 e Office 365
Per aprire un formato Microsoft Excel 2007/2010/2013/2016/2019 e Office 365, cioè XLSX o XLSB, specifica il percorso del file. Puoi anche usare LoadOptions e impostare gli attributi/opzioni correlati della classe LoadOptions per il file di modello da caricare.
<!DOCTYPE html>
<html>
<head>
<title>Open Excel 2007 Xlsx Example</title>
</head>
<body>
<h1>Open Excel 2007 Xlsx Example</h1>
<input type="file" id="fileInput" accept=".xlsx" />
<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, LoadOptions, LoadFormat, SaveFormat, Utils } = 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 .xlsx file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions specified by the LoadFormat.
const loadOptions = new LoadOptions(LoadFormat.Xlsx);
// Create a Workbook object and open the file from the uploaded data
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
document.getElementById('result').innerHTML = '<p style="color: green;">Microsoft Excel 2007 - Office365 workbook opened successfully!</p>';
// Save the workbook back to a downloadable file (unchanged content)
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'Book_Excel2007_output.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Opened Workbook';
});
</script>
</html>
Apri file Excel criptati
È possibile creare file Excel crittografati usando Microsoft Excel. Per aprire un file crittografato, usa LoadOptions e imposta i suoi attributi e opzioni (ad esempio, fornisce una password) per il file di modello da caricare. Un file di esempio per testare questa funzionalità può essere scaricato dal seguente link:
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Open Encrypted Workbook Example</h1>
<input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
<button id="runExample">Open Encrypted Workbook</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, LoadOptions, Utils } = 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 encrypted Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiate LoadOptions
const loadOptions = new LoadOptions();
// Specify the password (converted from setPassword to property assignment)
loadOptions.password = "1234";
// Create a Workbook object opening the file from the uploaded bytes with loadOptions
const wbEncrypted = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
console.log("Encrypted excel file opened successfully!");
// Save the workbook so user can download it (using Excel97To2003 format for .xls)
const outputData = wbEncrypted.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
// Use original name with a prefix to indicate it's been opened
const originalName = file.name || 'output.xls';
downloadLink.download = 'opened_' + originalName;
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Opened Workbook';
document.getElementById('result').innerHTML = '<p style="color: green;">Encrypted Excel file opened successfully! Click the download link to get the file.</p>';
});
</script>
</html>
Aspose.Cells supporta anche l’apertura di file Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Office 365 protetti da password.