You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.8 KiB
54 lines
1.8 KiB
const fileInput = document.getElementById('fileInput');
|
|
fileInput.addEventListener('change', (event) => {
|
|
const file = event.target.files[0];
|
|
if (!file) return;
|
|
|
|
// 读取文件并处理内容
|
|
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 jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
|
|
names.length = 0; // 清空当前 names 数组
|
|
jsonData.forEach(row => {
|
|
if (row[0]) {
|
|
names.push(row[0]);
|
|
}
|
|
});
|
|
console.log(names); // 查看导入的名字
|
|
};
|
|
reader.readAsArrayBuffer(file);
|
|
|
|
// 显示文件名和按钮
|
|
handleFileSelect(event);
|
|
});
|
|
|
|
function handleFileSelect(event) {
|
|
const fileName = event.target.files[0].name; // 获取文件名
|
|
document.getElementById('output').textContent = `选择的文件: ${fileName}`; // 更新输出文本
|
|
|
|
// 显示进入点名按钮
|
|
document.getElementById('enterButton').style.display = 'block';
|
|
|
|
// 上传文件到后台
|
|
uploadFile(event.target.files[0]);
|
|
}
|
|
|
|
function uploadFile(file) {
|
|
const formData = new FormData();
|
|
formData.append('file', file); // 将文件添加到 FormData 对象
|
|
|
|
fetch('/upload', { // 假设后台路由是 /upload
|
|
method: 'POST',
|
|
body: formData,
|
|
})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
console.log('Success:', data);
|
|
})
|
|
.catch((error) => {
|
|
console.error('Error:', error);
|
|
});
|
|
} |