js读取本地 excel文件、txt文件的内容
在JavaScript中,要读取本地的Excel文件和txt文件,通常需要使用第三方库,因为浏览器出于安全考虑,不允许直接访问本地文件系统。以下是使用xlsx
库读取Excel文件和PapaParse
读取txt文件的示例代码。
首先,你需要安装这些库:
npm install xlsx
npm install papaparse
然后,你可以使用以下代码来读取Excel和txt文件:
// 引入xlsx库
import * as XLSX from 'xlsx';
// 引入PapaParse
import Papa from 'papaparse';
// 读取Excel文件
function readExcelFile(file) {
const reader = new FileReader();
reader.onload = (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 json = XLSX.utils.sheet_to_json(worksheet);
console.log(json);
};
reader.readAsArrayBuffer(file);
}
// 读取txt文件
function readTxtFile(file) {
Papa.parse(file, {
complete: (result) => {
console.log(result.data);
},
header: true,
skipEmptyLines: true
});
}
// 假设你有一个input元素来上传文件
const input = document.getElementById('file-input');
input.addEventListener('change', (e) => {
const file = e.target.files[0];
if (!file) {
return;
}
const fileExtension = file.name.split('.').pop();
if (fileExtension === 'xlsx' || fileExtension === 'xls') {
readExcelFile(file);
} else if (fileExtension === 'txt') {
readTxtFile(file);
} else {
alert('Please upload an Excel file (.xlsx) or a text file (.txt)');
}
});
在HTML中,你需要有一个文件输入元素:
<input type="file" id="file-input" />
请注意,这些示例假设用户上传了正确的文件类型。在实际应用中,你可能需要添加更多的错误处理和文件验证逻辑。
评论已关闭