winax
是一个 JavaScript 库,用于在 Windows 平台上调用 ActiveX 控件。在使用 winax
将图片插入到 Excel 中时,你需要使用 Excel 的 ActiveX 对象模型来实现这个目标。
以下是一个示例代码,用 winax
在 Excel 中插入一张图片:
const { ActiveXObject } = require('winax');
// 创建 Excel 应用程序对象
const excelApp = new ActiveXObject('Excel.Application');
// 显示 Excel 应用程序
excelApp.Visible = true;
// 添加一个新的工作簿
const workbook = excelApp.Workbooks.Add();
// 获取活动工作表
const worksheet = workbook.ActiveSheet;
// 插入图片
const imageFilePath = 'path_to_your_image.jpg'; // 替换为你的图片文件路径
const shape = worksheet.Shapes.AddPicture(imageFilePath, /* LinkToFile */ false, /* SaveWithDocument */ true, 0, 0, 100, 100); // 在单元格 A1 处插入图片(0, 0, 100, 100 分别表示左上角的 x, y 坐标和图片的宽高)
// 可以对插入的图片进行进一步的调整,例如:
// shape.Width = 200; // 设置图片宽度
// shape.Height = 150; // 设置图片高度
// 保存工作簿
workbook.SaveAs('path_to_save_excel_file.xlsx'); // 保存 Excel 文件的路径
// 关闭 Excel 应用程序
excelApp.Quit();
在上面的示例中,winax
用于创建 Excel 应用程序对象,并向工作表中添加一张图片。你需要将 path_to_your_image.jpg
替换为你实际图片的文件路径,并根据需要调整图片的插入位置和大小。最后,通过 workbook.SaveAs()
方法保存工作簿,并通过 excelApp.Quit()
关闭 Excel 应用程序。
请确保已经安装了 Excel 并且系统支持 ActiveX 控件的调用。
注* 上面的例子是添加图片的引用,可使用Shape嵌入这张图片到Excel
const imagePath = path.join(workingDir, values.toString())
const range = ws.Range(cell_pos)
const shape = ws.Shapes.AddPicture(imagePath, -1, -1, range.left, range.top, -1, -1)
COM API: 参考: https://learn.microsoft.com/zh-cn/office/vba/api/excel.shapes.addpicture
回复 (0)
微信扫码 立即评论