主题
LimeXlsx Excel转JSON组件
一个功能强大的Excel文件转JSON工具,支持多种平台包括iOS、Android、Web、鸿蒙Next和小程序。可以轻松将Excel表格数据转换为JSON格式,适用于数据导入、配置读取、表格数据处理等多种应用场景。组件提供了完善的错误处理机制和文件验证功能。
文档链接
📚 组件详细文档请访问以下站点:
安装方法
代码演示
UniAppX 示例
使用ts或UniAppX进行Excel文件转换时,需要引入type
typescript
import { excelToJson, type XlsxOptions } from '@/uni_modules/lime-xlsx';
// 使用示例
excelToJson({
path: '/static/example.xlsx', // Excel文件路径
success: (res) => {
console.log('转换成功:', res.data);
},
fail: (err) => {
console.error('转换失败:', err.errMsg, '错误码:', err.errCode);
}
} as XlsxOptions);
UniApp 示例
在普通UniApp项目中使用:
javascript
import { excelToJson } from '@/uni_modules/lime-xlsx';
// 使用示例
excelToJson({
path: '/static/example.xlsx', // Excel文件路径
success: (res) => {
console.log('转换成功:', res.data);
},
fail: (err) => {
console.error('转换失败:', err.errMsg, '错误码:', err.errCode);
}
});
快速预览
导入插件后,可以直接使用以下标签查看演示效果:
html
<!-- 代码位于 uni_modules/lime-xlsx/components/lime-xlsx -->
<lime-xlsx />
插件标签说明
标签名 | 说明 |
---|---|
l-xlsx | 组件标签 |
lime-xlsx | 演示标签 |
详细配置请参考官方文档:Vue Composition API
API文档
XlsxOptions 选项
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
path | Excel文件路径,支持本地路径和临时文件路径 | string | - |
maxSize | 文件大小限制(单位:MB) | number | 50 |
success | 转换成功回调函数 | (result: XlsxResult) => void | - |
fail | 转换失败回调函数 | (error: XlsxError) => void | - |
XlsxResult 结果对象
属性 | 说明 | 类型 |
---|---|---|
data | 转换后的JSON数据 | Array<Record<string, any>> |
sheets | 所有工作表的数据 | Record<string, Array<Record<string, any>>> |
XlsxError 错误对象
属性 | 说明 | 类型 |
---|---|---|
errCode | 错误码 | number |
errMsg | 错误信息 | string |
错误码说明
错误码 | 说明 |
---|---|
9010001 | 文件读取失败,请检查文件格式是否正确 |
9010002 | 文件不存在,请检查文件路径 |
9010003 | 文件格式不支持,仅支持.xlsx或.xls格式 |
9010004 | 文件为空或没有数据 |
9010005 | 文件解析失败,可能是文件已损坏 |
9010006 | 文件过大,超出处理限制 |
9010007 | JSON转换失败 |
9010008 | 临时文件创建失败 |
9010009 | 无效的文件路径格式 |
功能特点
- 支持.xlsx格式的Excel文件(安卓还支持.xls)
- 自动将Excel表格数据转换为JSON格式
- 完善的错误处理机制
- 支持大文件检测和限制(默认50MB)
- 支持文件格式验证
- 默认第一行为标题头(keys)
- 默认读取第一个表格(iOS是读取有数据的表格,与其它端有差异)
常见问题
- 小程序不能直接读取xlsx和xls格式的文件,但可以通过将文件后缀改为png后读取
- 小程序使用到getFileSystemManager API,只有支持这个API的小程序才能使用
- iOS和其他平台在读取表格时有差异,iOS会读取有数据的表格
- 确保文件路径正确,且文件格式符合要求
- 大文件处理可能会占用较多内存,请根据实际情况设置maxSize参数
支持与赞赏
如果你觉得本插件解决了你的问题,可以考虑支持作者:
支付宝赞助 | 微信赞助 |
---|---|
![]() | ![]() |