从 nodejs 中的 excel 中提取图像
extract image from excel in nodejs
我正在尝试使用节点 js.can 提取 excel 中的所有图像,有人为此建议任何 npm 模块。这是我用于测试的 excel 文件的图像。
我会使用 JSZip https://stuk.github.io/jszip/
您应该能够在 excel 文件的 \xl\media\ 目录中找到图像。
您可以使用 ExcelJS 找出图像出现的列和行。不幸的是,我没有在 ExcelJS 中找到一种方法来了解 excel 文档中该单元格上显示的图像的文件名。
编辑:
您可以打开 sheet1.xml.rels 来查找用于创建 sheet1 的其他文件。在文件列表中应该有对 drawing1.xml 文件的引用。在 drawing1.xml.rels 文件中,您可以找到媒体文件夹中图像的 link。该文件还为这些文件中的每一个提供了一个 Id。 drawing1.xml 有关于应该在 sheet 中放置哪些图像的信息。
这是一般结构:
<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
中的媒体定义
我正在尝试使用节点 js.can 提取 excel 中的所有图像,有人为此建议任何 npm 模块。这是我用于测试的 excel 文件的图像。
我会使用 JSZip https://stuk.github.io/jszip/
您应该能够在 excel 文件的 \xl\media\ 目录中找到图像。
您可以使用 ExcelJS 找出图像出现的列和行。不幸的是,我没有在 ExcelJS 中找到一种方法来了解 excel 文档中该单元格上显示的图像的文件名。
编辑: 您可以打开 sheet1.xml.rels 来查找用于创建 sheet1 的其他文件。在文件列表中应该有对 drawing1.xml 文件的引用。在 drawing1.xml.rels 文件中,您可以找到媒体文件夹中图像的 link。该文件还为这些文件中的每一个提供了一个 Id。 drawing1.xml 有关于应该在 sheet 中放置哪些图像的信息。
这是一般结构:
<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
中的媒体定义