NodeJS 如何从Excel文件中获取图像?[关闭]

j0pj023g  于 12个月前  发布在  Node.js
关注(0)|答案(2)|浏览(224)

**已关闭。**此问题正在寻求有关书籍、工具、软件库等内容的建议。它不符合Stack Overflow guidelines。当前不接受答案。

我们不允许提出问题来寻求对图书、工具、软件库等的推荐。您可以编辑问题,以便用事实和引文来回答。
昨天就关门了。
Improve this question
我有一个Excel文件,其中包含大约10000条记录,有些记录包含一些图像(不是所有的行),我想提取图像并将其保存在一个文件夹中??我试过Excel.js和XLSX,但它不起作用??如何从Excel中提取图像?或者我必须将Excel转换为PDF,然后尝试提取它?

fcwjkofz

fcwjkofz1#

您可以使用某个节点zip库将文件读取为zip,然后从zip的xl/media文件夹中提取嵌入的图像。
下面是一个使用unzip的示例

const fs = require('fs');
const unzip = require('unzip');

fs.createReadStream('./img-file.xlsx')
  .pipe(unzip.Parse())
  .on('entry', function(entry) {

    const fileName = entry.path;
    const type = entry.type;

    if (type === 'File' && fileName.includes('xl/media')) {

      entry.pipe(fs.createWriteStream('./xlsx-images/' + fileName.replace('xl/media', '')));

    } else {
      entry.autodrain();
    }
  });

字符串

fv2wmkja

fv2wmkja2#

从Excel文件中提取图像的一些方法:
1.手动浸提:
1.右键单击Excel文件中的每个图像。
1.选择“保存为图片”。
1.选择所需的保存位置和格式。
1.对每个图像重复。
1.使用Python库:

import openpyxl
    
workbook = openpyxl.load_workbook("your_file.xlsx")
sheet = workbook.active
    
for row in sheet.iter_rows():
  for cell in row:
    if cell.has_image:
      image = cell.image

      image.save("extracted_images/image_{}.png".format(cell.coordinate))

字符串
希望它能起作用。

相关问题