Lier les cellules aux éléments de la carte XML avec JavaScript via C++
Contents
[
Hide
]
Scénarios d’utilisation possibles
Vous pouvez lier vos cellules aux éléments de la carte XML en utilisant Aspose.Cells for JavaScript via C++. Veuillez utiliser la méthode Cells.linkToXmlMap(string, number, number, string) à cette fin.
Lier des cellules aux éléments de la carte XML
Le code d’exemple suivant charge le fichier Excel source qui contient une carte XML, puis lie les cellules A1, B2, C3, D4, E5 et F6 aux éléments de la carte XML FIELD1, FIELD2, FIELD4, FIELD5, FIELD7 et FIELD8 respectivement, puis enregistre le classeur dans le fichier Excel de sortie.
Si vous ouvrez le fichier Excel de sortie et cliquez sur le bouton Développeur > Source, vous verrez que les cellules sont liées aux éléments de la carte XML et seront également mises en évidence par Microsoft Excel comme montré dans cette image.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Map XML to Cells 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, 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();
// Instantiating a Workbook object from uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access the Xml Map inside it
const map = workbook.worksheets.xmlMaps.get(0);
// Access first worksheet
const ws = workbook.worksheets.get(0);
// Map FIELD1 and FIELD2 to cell A1 and B2
ws.cells.linkToXmlMap(map.name, 0, 0, "/root/row/FIELD1");
ws.cells.linkToXmlMap(map.name, 1, 1, "/root/row/FIELD2");
// Map FIELD4 and FIELD5 to cell C3 and D4
ws.cells.linkToXmlMap(map.name, 2, 2, "/root/row/FIELD4");
ws.cells.linkToXmlMap(map.name, 3, 3, "/root/row/FIELD5");
// Map FIELD7 and FIELD8 to cell E5 and F6
ws.cells.linkToXmlMap(map.name, 4, 4, "/root/row/FIELD7");
ws.cells.linkToXmlMap(map.name, 5, 5, "/root/row/FIELD8");
// Save the 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.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">XML mapped to cells successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>