You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Aspose Words 16.7.0.0嵌入Excel至Word时无法保留文件名

解决Aspose.Words嵌入Excel时文件名不保留的问题

问题原因

使用InsertOleObject(Stream, ...)重载插入Excel对象时,Aspose.Words无法从流中提取原文件名信息,导致Word打开嵌入对象时使用默认临时文件名,而非你指定的文件名。

解决方案

你可以通过两种方式解决这个问题:

方式一:直接使用文件路径插入OLE对象

既然已经生成了临时Excel文件,直接传入文件路径而非流,Aspose.Words会自动读取并保留文件名:

// 替换第三步的代码
builder.InsertOleObject(temporaryExcelFilePath, "Excel.Sheet.12", true, iconImage);

方式二:通过OlePackage手动指定文件名(流场景适用)

如果必须使用流插入,可创建OlePackage对象并设置DisplayName和FileName,明确告知Word嵌入对象的文件名:

using (Stream fileStream = File.OpenRead(temporaryExcelFilePath))
{
    OlePackage olePackage = new OlePackage();
    olePackage.FileName = excelFileName; // 设置文件名
    olePackage.DisplayName = excelFileName; // 设置显示名称
    builder.InsertOleObject(fileStream, "Excel.Sheet.12", olePackage, iconImage);
}

补充说明

两种方式都能让Word打开嵌入的Excel时显示你指定的excelFileName。方式一更简洁,方式二更适合无法直接使用文件路径的场景(比如流来自网络或内存)。

内容的提问来源于stack exchange,提问作者Luka Kalinić

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 05:03:18