编辑代码

//JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
console.log("Hello world!            -  js.jsrun.net ");
const XLSX = require('xlsx');
const fs = require('fs');
const path = require('path');

// 读取 Excel 文件
const workbook = XLSX.readFile('C:\Users\liyaxin\Desktop\1.xlsx');

// 选择要处理的工作表
const sheetName = 'Sheet1'; // 更改为你的工作表名称
const worksheet = workbook.Sheets[sheetName];

// 指定保存图片的文件夹路径
const outputFolderPath = 'C:\Users\liyaxin\Desktop\photo'; // 更改为你的输出文件夹路径
if (!fs.existsSync(outputFolderPath)) {
  fs.mkdirSync(outputFolderPath, { recursive: true });
}

// 从工作表中获取照片并保存
for (let cell in worksheet) {
  if (cell.startsWith('A')) { // 假设照片所在列为A列
    const image = worksheet[cell].v; // 获取图片数据

    // 检查单元格是否包含图片
    if (image && image.indexOf('data:image') !== -1) {
      const imageBase64 = image.replace(/^data:image\/\w+;base64,/, '');
      const buffer = Buffer.from(imageBase64, 'base64');

      // 获取图片对应的命名信息(假设命名信息在B列)
      const correspondingCell = `B${cell.substring(1)}`; // 对应的命名信息单元格
      const imageNameInfo = worksheet[correspondingCell].v; // 获取命名信息

      // 生成图片名称并保存
      const imageName = `${imageNameInfo}.png`; // 使用命名信息命名图片
      const imagePath = path.join(outputFolderPath, imageName); // 图片保存路径
      fs.writeFileSync(imagePath, buffer, 'base64');
      console.log(`图片 ${imageName} 已保存至 ${outputFolderPath}!`);
    }
  }
}