Skip to content

LimeXlsx Excel转JSON组件

一个功能强大的Excel文件转JSON工具,支持多种平台包括iOS、Android、Web、鸿蒙Next和小程序。可以轻松将Excel表格数据转换为JSON格式,适用于数据导入、配置读取、表格数据处理等多种应用场景。组件提供了完善的错误处理机制和文件验证功能。

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场入口 中搜索并导入lime-xlsx
  2. 导入后在项目中引入相关方法
  3. 需要自定义基座才能使用

代码演示

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 选项

参数说明类型默认值
pathExcel文件路径,支持本地路径和临时文件路径string-
maxSize文件大小限制(单位:MB)number50
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文件过大,超出处理限制
9010007JSON转换失败
9010008临时文件创建失败
9010009无效的文件路径格式

功能特点

  • 支持.xlsx格式的Excel文件(安卓还支持.xls)
  • 自动将Excel表格数据转换为JSON格式
  • 完善的错误处理机制
  • 支持大文件检测和限制(默认50MB)
  • 支持文件格式验证
  • 默认第一行为标题头(keys)
  • 默认读取第一个表格(iOS是读取有数据的表格,与其它端有差异)

常见问题

  • 小程序不能直接读取xlsx和xls格式的文件,但可以通过将文件后缀改为png后读取
  • 小程序使用到getFileSystemManager API,只有支持这个API的小程序才能使用
  • iOS和其他平台在读取表格时有差异,iOS会读取有数据的表格
  • 确保文件路径正确,且文件格式符合要求
  • 大文件处理可能会占用较多内存,请根据实际情况设置maxSize参数

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助微信赞助

源代码

组件源码