【发布时间】:2019-08-23 08:51:28
【问题描述】:
【问题讨论】:
标签: node.js excel base64 exceljs
【问题讨论】:
标签: node.js excel base64 exceljs
我会使用 JSZip https://stuk.github.io/jszip/
您应该能够在 excel 文件的 \xl\media\ 目录中找到图像。
您可以使用 ExcelJS 找出图像出现的列和行。不幸的是,我还没有在 ExcelJS 中找到一种方法来知道出现在 excel 文档中该单元格上的图像的文件名。
编辑: 您可以打开 sheet1.xml.rels 以查找用于创建 sheet1 的其他文件。在文件列表中应该有对 drawing1.xml 文件的引用。在 drawing1.xml.rels 文件中,您可以找到指向 media 文件夹中图像的链接。该文件还为这些文件中的每一个提供了一个 ID。 drawing1.xml 包含有关应在工作表中放置哪些图像的信息。
一般结构如下:
<xdr:twoCellAnchor editAs="oneCell">
<xdr:from>
<xdr:col>4</xdr:col>
<xdr:row>14</xdr:row>
</xdr:from>
<xdr:pic>
<xdr:blipFill>
<a:blip xmlns:r="" r:embed="rId2" cstate="print">
</a:blip>
</xdr:blipFill>
</xdr:pic>
<xdr:clientData />
</xdr:twoCellAnchor>
如果您将 col 和 row 值都加 1,您将获得存储图像的单元格。 rId2 是一个 Id,它引用了 drawing1.xml.rels 中的媒体定义
【讨论】: