CSV in JSON mit JavaScript über C++ konvertieren
Contents
[
Hide
]
Konvertieren von CSV in JSON
Aspose.Cells unterstützt die Konvertierung von CSV in JSON. Hierfür stellt die API die Klassen ExportRangeToJsonOptions und JsonUtility bereit. Die Klasse ExportRangeToJsonOptions bietet die Optionen für den Exportbereich nach JSON. Die Klasse ExportRangeToJsonOptions hat die folgenden Eigenschaften.
- ExportRangeToJsonOptions.exportAsString: Exportiert den Zeichenfolgenwert der Zellen in JSON.
- ExportRangeToJsonOptions.hasHeaderRow: Gibt an, ob der Bereich eine Kopfzeile enthält.
- ExportRangeToJsonOptions.indent: Gibt die Einrückung an.
Die JsonUtility-Klasse exportiert JSON unter Verwendung der mit der ExportRangeToJsonOptions-Klasse festgelegten Exportoptionen.
Das folgende Codebeispiel demonstriert die Verwendung der Klassen ExportRangeToJsonOptions und JsonUtility zum Laden der Quelle CSV-Datei und druckt die JSON-Ausgabe in der Konsole.
Beispielcode
<!DOCTYPE html>
<html>
<head>
<title>Export CSV Range to JSON Example</title>
</head>
<body>
<h1>Export CSV Range to JSON Example</h1>
<input type="file" id="fileInput" accept=".csv" />
<button id="runExample">Export 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, LoadOptions, LoadFormat, JsonSaveOptions, JsonUtility } = AsposeCells;
const runButton = document.getElementById('runExample');
runButton.disabled = true;
AsposeCells.onReady({
license: "/lic/aspose.cells.enc",
fontPath: "/fonts/",
fontList: [
"arial.ttf",
"NotoSansSC-Regular.ttf"
]
}).then(() => {
console.log("Aspose.Cells initialized");
runButton.disabled = false;
});
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
document.getElementById('runExample').addEventListener('click', async () => {
const fileInput = document.getElementById('fileInput');
const resultDiv = document.getElementById('result');
const downloadLink = document.getElementById('downloadLink');
downloadLink.style.display = 'none';
downloadLink.href = '';
downloadLink.textContent = '';
if (!fileInput.files.length) {
resultDiv.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 LoadOptions(LoadFormat.Csv);
const workbook = new Workbook(new Uint8Array(arrayBuffer), loadOptions);
const worksheet = workbook.worksheets.get(0);
const lastCell = worksheet.cells.lastCell;
const jsonSaveOptions = new JsonSaveOptions();
const range = worksheet.cells.createRange(0, 0, lastCell.row + 1, lastCell.column + 1);
const data = JsonUtility.exportRangeToJson(range, jsonSaveOptions);
// Display JSON in the result div
resultDiv.innerHTML = '<p style="color: green;">Export completed successfully!</p><pre>' + escapeHtml(data) + '</pre>';
// Create a downloadable JSON file
const blob = new Blob([data], { type: 'application/json' });
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'exported_range.json';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download JSON File';
});
</script>
</html>
Konsolenausgabe
[
{
"id": 1,
"language": "Java",
"edition": "third",
"author": "Herbert Schildt",
"streetAddress": 126,
"city": "San Jone",
"state": "CA",
"postalCode": 394221
},
{
"id": 2,
"language": "C++",
"edition": "second",
"author": "EAAAA",
"streetAddress": 126,
"city": "San Jone",
"state": "CA",
"postalCode": 394221
},
{
"id": 3,
"language": ".Net",
"edition": "second",
"author": "E.Balagurusamy",
"streetAddress": 126,
"city": "San Jone",
"state": "CA",
"postalCode": 394221
}
]