微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Word 文档中链接 Excel 工作表

如何解决在 Word 文档中链接 Excel 工作表

我想要达到的目标:

在C#中实现一个类似于Word对象插入作为链接函数,将选定的excel文件附加到带有“文件链接”的word文档中,这样对excel源文件的更改就可以反映在Word中文档)。

Word 插入 > 对象(在文本按钮组中)> 从文件创建

enter image description here

我尝试了什么:

我使用的是 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 时会出现错误

enter image description here

我在网上浏览了许多与此错误相关的文章,但没有一篇文章解决了我的问题。

但是当我如下更改复制 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 举报,一经查实,本站将立刻删除。