uniapp引入xls
在uniapp中引入xls文件
uniapp本身不直接支持xls文件的解析或生成,但可以通过第三方库或插件实现。以下是几种常见的方法:
使用js-xlsx库
安装xlsx库:
npm install xlsx
在uniapp的vue文件中引入:

import XLSX from 'xlsx'
读取xls文件示例代码:
// 通过uni.chooseFile选择文件
uni.chooseFile({
success(res) {
const filePath = res.tempFiles[0].path
const workbook = XLSX.readFile(filePath)
const firstSheetName = workbook.SheetNames[0]
const worksheet = workbook.Sheets[firstSheetName]
const jsonData = XLSX.utils.sheet_to_json(worksheet)
console.log(jsonData)
}
})
使用uni-app插件市场组件
在uni-app插件市场搜索"excel"或"xls",可以找到现成的插件如:

- uni-excel
- easyExcel
- xlsx-uni
这些插件通常封装了xlsx库的功能,提供更简单的API调用方式。
生成xls文件
使用xlsx库生成xls文件并下载:
const data = [
['姓名', '年龄', '性别'],
['张三', 25, '男'],
['李四', 30, '女']
]
const ws = XLSX.utils.aoa_to_sheet(data)
const wb = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1')
// 生成二进制数据
const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' })
// 保存文件
uni.saveFile({
tempFilePath: URL.createObjectURL(new Blob([wbout], { type: 'application/octet-stream' })),
success(res) {
console.log('文件保存成功', res.savedFilePath)
}
})
注意事项
- 在H5端使用FileReader API读取文件
- 小程序端需要真机调试,部分API可能有权限限制
- 移动端处理大文件时注意性能问题
- 考虑使用Web Worker处理大数据量
替代方案
对于简单需求,可以考虑:
- 将数据转换为CSV格式处理
- 使用在线Excel API服务
- 通过后端服务处理xls文件
以上方法可根据具体项目需求和技术栈选择最适合的实现方式。






