从 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

中的媒体定义