JavaScript 本身无法直接打开 Excel 文件,但可以通过以下几种方法实现类似的功能:
以下是使用 Blob URL 和 SheetJS 库的示例代码:
function openExcelFile(file) {
const reader = new FileReader();
reader.onload = function(e) {
const data = new Uint8Array(e.target.result);
const workbook = XLSX.read(data, {type: 'array'});
const firstSheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[firstSheetName];
const htmlStr = XLSX.write(workbook, {sheet:sheetName, type:'binary', bookType:'html'});
document.getElementById('excelContent').innerHTML = htmlStr;
};
reader.readAsArrayBuffer(file);
}
document.getElementById('fileInput').addEventListener('change', function(event) {
const file = event.target.files[0];
if (file) {
openExcelFile(file);
}
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Open Excel</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.5/xlsx.full.min.js"></script>
</head>
<body>
<input type="file" id="fileInput">
<div id="excelContent"></div>
<script>
document.getElementById('fileInput').addEventListener('change', function(event) {
const file = event.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(e) {
const data = new Uint8Array(e.target.result);
const workbook = XLSX.read(data, {type: 'array'});
const firstSheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[firstSheetName];
const htmlStr = XLSX.write(workbook, {sheet:firstSheetName, type:'binary', bookType:'html'});
document.getElementById('excelContent').innerHTML = htmlStr;
};
reader.readAsArrayBuffer(file);
}
});
</script>
</body>
</html>
通过以上方法,可以在网页中实现打开和查看 Excel 文件的功能。
领取专属 10元无门槛券
手把手带您无忧上云