1、实现内网在线excel编辑 涉及插件 luckysheet插件 (注意该插件仅支持xlsx类型,老版本xls不支持),兼容老版本xls 就需要 后端 将xls文件转换成xlsx文件, 再返回 相应的 xlsx类型 二进制文件流,然后 前端 通过 二进制 文件流 转换成 对应的 file,通过file 使用 luckyExcel.transformExcelToLucky进行解析回显成相应的 excel
其中 转成file 核心代码
const blob = new Blob([data],{type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'})
const file = new window.File([blob],'文件名',{type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'})
2、内网在线编辑excel 手动保存的时候 需要 先退出编辑模式,否则保存时入参会缺少当前正在获取焦点的单元格内容
如 手动保存时,首先调用 luckysheet.exitEditMode() // 手动退出编辑模式
其次 调用 luckysheet.getAllSheets()获取相应工作区内容,根据后端需要组装成相应的参数调用后端提供的保存接口即可
3、内网在线编辑excel 使用 tinymace.js 富文本插件即可,该富文本插件支持很多插件的扩展(比如:附件上传等)