yuansu
yuansu
# 建议先去看文档 [快速开始](https://easyexcel.opensource.alibaba.com/docs/current/) 、[常见问题](https://easyexcel.opensource.alibaba.com/qa/) # 建议描述 目前从文档看不支持图片的导入,同时导出时文档里有提到会占用很多内存,我这里想到一些迂回的解决方案。 ## 导入 导入时,excel文件中(按照zip解压后)有两个文件涉及到了图片的描述,`xl/drawings/_rels/drawing1.xml.rels` 和 `xl/drawings/drawing1.xml`。前者保存了图片路径和图片引用id的对应关系。后者保存了图片引用id和图片在表格中行列位置的关系。 导入数据前先根据这两个xml,将media文件下的图片存储到临时目录(文件名设置标记为图片的开始坐标点位置),然后读取数据时便可以根据期望图片存在的单元格坐标读取到图片。这种方法要求读取图片所在单元格必须不为空。 ## 导出 导出时,easyexcel的文档里提到了图片会全部在内存中。如果想避免这个问题,我能想到的方法就是一开始先提供一个很小的占位图片(可以复用),将真正需要导出的图片先放在临时目录中。在使用easyexcel生成Excel之后,再替换掉media文件下的图片为真正需要导出的图片。 目前看media文件下的文件名都是image+数字格式的图片文件,如果能自定义导出时的文件名,替换时候可能更方便(如果不能修改,也只好按照顺序来作为替换依据)