Charger ou importer un fichier CSV avec des formules via JavaScript
Contents
[
Hide
]
CSV file mostly contains textual data and they do not contain any formulas. However, sometimes it happens that CSV files also contain formulas. Such CSV files should be loaded by setting the TxtLoadOptions.hasFormula as true. Once this property will be set true, Aspose.Cells will not treat formulas as simple text. They will be treated as formulas, and Aspose.Cells formula calculation engine will process them as usual.
Le code suivant illustre comment charger ainsi qu’importer un fichier CSV avec des formules. Vous pouvez utiliser n’importe quel fichier CSV. À titre d’illustration, nous utilisons le fichier CSV simple qui contient ces données. Comme vous le voyez, il contient une formule.
<!DOCTYPE html>
<html>
<head>
<title>Load CSV with Formulas and Save as XLSX</title>
</head>
<body>
<h1>Load CSV with Formulas and Save as XLSX</h1>
<input type="file" id="fileInput" accept=".csv" />
<button id="convertToXlsx">Convert to XLSX</button>
<a id="downloadLink" style="display: none;">Download XLSX</a>
<div id="result"></div>
<script src="aspose.cells.js.min.js"></script>
<script type="text/javascript">
const { Workbook, TxtLoadOptions, SaveFormat } = AsposeCells;
AsposeCells.onReady().then(() => {
console.log("Aspose.Cells initialized");
});
document.getElementById('convertToXlsx').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
if (!fileInput.files.length) {
document.getElementById('result').innerHTML = '<p style="color: red;">Please select a CSV file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
const loadOptions = new TxtLoadOptions();
loadOptions.hasFormula = true;
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = file.name.replace(/\.csv$/i, '.xlsx');
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download XLSX File';
document.getElementById('result').innerHTML = '<p style="color: green;">Conversion completed! Click the download link to get the XLSX file.</p>';
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells CSV Load Example</title>
</head>
<body>
<h1>Load CSV with Formulas and Save as XLSX</h1>
<input type="file" id="fileInput" accept=".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, TxtLoadOptions, 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 a CSV file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
const bytes = new Uint8Array(arrayBuffer);
// TxtLoadOptions configuration
const opts = new TxtLoadOptions();
opts.separator = ',';
opts.hasFormula = true;
// Load your CSV file with formulas in a Workbook object
const workbook = new Workbook(bytes, opts);
// You can also import your CSV file like this
// The code below is importing CSV file starting from cell D4 (rowIndex=3, colIndex=3)
const worksheet = workbook.worksheets.get(0);
worksheet.cells.importCSV(bytes, opts, 3, 3);
// Save your workbook in Xlsx format
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output_out.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Operation completed successfully! Click the download link to get the converted file.</p>';
});
</script>
</html>
Le code charge d’abord le fichier CSV, puis l’importe à nouveau à la cellule D4. Enfin, il enregistre l’objet classeur au format XLSX. Le fichier XLSX de sortie ressemble à ceci. Comme vous le voyez, la cellule C3 et F4 contiennent des formules et leur résultat est 800.
![]() |
|---|
