更新记录

0.1.0(2026-10-01)

首版:WPS DISPIMG跨工作表按业务列命名导出图片、重名编号、空名称回退及CSV清单。提供双工作表示例文件。阿里云Node 16真实客户端调用及三图字节校验通过。原文件和导出ZIP各限1MiB。


平台兼容性

云端兼容性

支付宝云 腾讯云 阿里云
× × √

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


WPS DISPIMG 图片按业务列命名导出

给已有 uniCloud 项目的开发者使用:读取 WPS .xlsx 中的 DISPIMG 单元格图片,按 SKU、商品编号等业务列命名,返回图片 ZIP 和 CSV 清单。支持跨工作表、重名编号和空名称地址回退,保留图片原始字节。

适用范围:小文件的 WPS DISPIMG 图片。 不处理 Excel 浮动图片、外部图片链接、旧版 .xls 或加密工作簿。这是云函数插件,需要开发者接入自己的页面;没有独立桌面应用或现成在线转换网站。

接入

  1. 在已有 uni-app 项目中导入插件,关联自己的阿里云 uniCloud 服务空间。
  2. 在 HBuilderX 中将 pl-wps-dispimg-export 云函数上传部署,等待云端依赖安装完成。
  3. 从客户端通过 uniCloud.callFunction 调用。不要开启 HTTP URL 化或用云端控制台调用替代客户端调用。
const { result } = await uniCloud.callFunction({
  name: 'pl-wps-dispimg-export',
  data: {
    xlsxBase64,       // 原始 xlsx 文件的 Base64,不带 data: 前缀
    imageColumn: 'B', // DISPIMG 图片所在列
    nameColumn: 'A'   // 用作文件名的业务列
  }
});
if (!result.ok) throw new Error(result.error.message);
// result.zipBase64: 输出 ZIP 的 Base64
// result.exported / unmatched / blankNames: 导出及异常计数
// result.report: 工作表、单元格与输出文件的对应关系

浏览器中的文件可用 FileReader.readAsDataURL(file) 读取,并取第一个逗号之后的 Base64。ZIP 保存方式由接入页面决定。

先用样例验证

包内 examples/sample-wps.xlsx 有两个工作表。图片列为 B,命名列为 A;应导出 Beta_Blue.png、Alpha_Red.png、Alpha_Red_2.png 和 导出清单.csv。建议先使用平台试用,在自己的服务空间完成验证再购买。

2026-10-01,阿里云开发者版空间、Node 16.15.1、Chrome 中的官方 uniCloud 客户端 SDK 实测通过:三图与工作簿内嵌原资源逐字节一致,未匹配和空命名计数均为 0;未知字段和无效工作簿返回结构化错误。未实测腾讯云、支付宝云、其他客户端环境或接近上限的大文件。

限制与错误

  • 原始 .xlsx 文件最多 1 MiB;导出内容合计和最终 ZIP 各最多 1 MiB。
  • 解压后内容最多 12 MiB;单个 XML 最多 2 MiB;ZIP 条目最多 2000;DISPIMG 引用最多 200。
  • 最终返回 JSON 的 UTF-8 大小最多 1.5 MiB。这些是插件保守限制,不代表云平台最大传输能力。
  • 列名范围 A–XFD,两列必须不同。所有工作表使用同一对列。
  • 仅接受 xlsxBase64、imageColumn、nameColumn 和可选的 SDK uniIdToken 元数据,不接受 URL。元数据不用于身份认证。
  • 错误包括 INVALID_INPUT、INPUT_LIMIT、OUTPUT_LIMIT、ZIP_INVALID 和 CALL_SOURCE_REJECTED,以实际返回的 error.code 为准。

数据处理与费用

文件发送到买家自己选择的 uniCloud 空间,在函数内存中处理;作者不接收文件。本函数不主动联网、落盘、写日志、数据库或云存储。云平台和接入页面的日志策略由相应运营者管理。

函数只检查平台提供的客户端调用来源,不提供用户身份、支付、业务权限或防滥用系统。接入方负责文件处理权限、调用安全、平台授权配置和云空间费用;插件购买费用不包含云资源费用。

依赖精确锁定为 @xmldom/xmldom 0.9.12 和 fflate 0.8.3,完整 MIT 许可证见 THIRD_PARTY_NOTICES.txt。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无。仅为云函数,不自行申请客户端系统权限。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

工作簿Base64发送至买家选择的uniCloud服务空间,仅在函数内存中处理;作者不接收或存储文件。不主动写日志、数据库或云存储;平台和买家自身日志策略由其管理。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无。

暂无用户评论。