使用Office Scripts向Excel添加图片失败,求解决方法
解决Excel Office Scripts添加图片时的参数错误问题
你的代码报错核心原因有两个:
- Data URI格式错误:用了HTML实体
:替代真实冒号:,导致Excel无法识别图片资源字符串 - MIME类型不匹配:传入的base64是SVG格式,但你给的前缀是
image/png,类型不兼容
以下是修复后的完整代码:
function main(workbook: ExcelScript.Workbook, idioma: string = "en", base64: string) { // 添加"Intro"工作表到首位 try { workbook.addWorksheet("Intro").setPosition(0) } catch { }; let sheet = workbook.getWorksheet("Intro"); // 生成正确的SVG Data URI const base64Img = `data:image/svg+xml;base64,${base64}`; // 添加图片到工作表 let img = sheet.addImage(base64Img); // 修改图片名称 img.setName("Welcome.svg"); };
关键修复点说明:
- 把
:替换为真实冒号:,保证Data URI格式合法 - 从传入的base64前缀
PHN2Zy可判断是SVG图片,因此将MIME类型改为image/svg+xml,同时图片名称对应改为.svg后缀 - 删除无用的HTML标签拼接代码,
addImage方法直接接受合法的Data URI字符串即可
内容的提问来源于stack exchange,提问作者user15235239
相关产品推荐
相关产品推荐

