如何解决在 Word 文档中链接 Excel 工作表
我想要达到的目标:
在C#中实现一个类似于Word对象插入作为链接的函数,将选定的excel文件附加到带有“文件链接”的word文档中,这样对excel源文件的更改就可以反映在Word中文档)。
Word 插入 > 对象(在文本按钮组中)> 从文件创建
我尝试了什么:
我使用的是 Office 365。
从 Excel 文件的选定工作表中获取 UsedRange.AddressLocal
,并从中获取单元格范围。然后使用 Word.Range.PasteSpecial
方法。
string addressLocal = worksheet.UsedRange.AddressLocal;
if (addressLocal.Length > 0)
{
cellRange = addressLocal.Replace("$","");
}
Excel.Range range = this.worksheet.Range[cellRange];
range.copy();
获取当前选择的范围。
wordRange = wordApp.Selection.Range
;
将复制的范围粘贴到 Word 文档中。
wordRange.PasteSpecial(
Link: true,DataType: Word.WdPasteDataType.wdPasteOLEObject,Placement: Word.WdOLEPlacement.wdInLine,displayAsIcon: false
);
但是当我们尝试双击插入的 excel 时会出现错误。
我在网上浏览了许多与此错误相关的文章,但没有一篇文章解决了我的问题。
但是当我如下更改复制 excel 单元格范围并粘贴时,双击并打开插入的 excel 时不会出错。
string addressLocal = worksheet.UsedRange.AddressLocal;
if (addressLocal.Length > 0)
{
cellRange = addressLocal.Replace("$","");
// If cellRange is "A1:E6",below code make it as "A1:E5"
string a = cellRange.Substring(0,cellRange.Length - 1);
int b = int.Parse(cellRange.Substring(cellRange.Length - 1,1)) - 1;
cellRange = a+ b.ToString();
}
Excel.Range range = this.worksheet.Range[cellRange];
range.copy();
我将 excel 链接到 word 的方法是否不正确?如果是这样,请让我知道我应该怎么做才能实现一些类似于 Word Excel 对象链接的功能?
如果我的方法是正确的,我应该怎么做才能将excel工作表的确切使用范围插入到单词中?
请帮我解决这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。