💡 遇到一个需求:需要将指定数据按模板进行导出且一次性需要导出多个excel
按需求,原有的 OLE 导出存在多个 excel 导出时速度慢、不够稳定、依赖本地程序等问题
程序构思
处理流程
- 模板的维护
- 维护 excel 中的样式
- 维护 需要填值的单元格替换内容
- ABAP 读取处理
- excel 文件上载
- excel 文件解压
- 指定文件的读取 程序中指定
- 文件二进制数据转 xml 及 string
- 预处理 由于文件数据存储位置的不固定需要针对文件存在位置进行一定的预处理
- 数据直接存在指定的 sheet 的 xml 中,可直接读取
- 数据存储在共享数据 xml 中,需替换处理
- 文件处理
- 拿到指定行程序中指定
- 转换为 string
- 替换指定内容
- 还原为 xml 对象
- 写入
- 文件导出
- 文件内容写入 zip
- 二进制数据下载
测试
测试gif
测试代码
参考
知乎: OOXML:详解Excel工作表(worksheet)