【问题标题】:Adding a Row to an Excel Table向 Excel 表中添加行
【发布时间】:2016-03-01 19:01:28
【问题描述】:

我正在开发 Excel 2013/2015 VSTO 工作簿应用程序。从在 Windows 表单中输入的数据中,我想在我的一个工作表的现有表中创建一条新记录。

如何使用 C# 和 VSTO 将新的表格行插入 Excel 表格(不是简单的工作表数组)?

【问题讨论】:

  • 记录一个你手动做的宏,翻译成互操作方法,大部分都是一样的。
  • 我意识到我的错误。应该可以在Microsoft.Office.Interop.Excel 命名空间中获取ListObject.ListRows.Add 方法。我很困惑,因为Microsoft.Office.Tools.Excel 中存在类似的类型,但缺少Add 方法。正在努力。我现在正在苦苦挣扎的是获取桌子的ListObject 句柄。
  • @pnuts 感谢您修正错别字。必须撤消一个,但其余的都可以。
  • 好的,英文正字法与论坛指南。不知道怎么做决定。如果必须,我会服从。 :)
  • 好的,我只是想问一下,在我接受应该属于你的功劳之前。

标签: c# excel visual-studio vsto listobject


【解决方案1】:

Microsoft.Office.Tools.Excel.ListObject 提供了所需的功能。可以按如下方式引用表并添加行:

Microsoft.Office.Tools.Excel.ListObject lo = Globals.Sheet1.MyTable;
lo.ListRows.Add();

可以选择指定新行的位置 (https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.listrows.add.aspx)。默认在表格末尾。

在我的例子中,IntelliSense 没有显示Add() 函数,这导致了混乱。只需输入即可。

【讨论】:

  • 多么奇怪。谁能解释为什么这不会出现在智能感知中?多么可怕的陷阱。为什么,微软?为什么?!
猜你喜欢
  • 2019-04-04
  • 1970-01-01
  • 2016-09-14
  • 1970-01-01
  • 1970-01-01
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
  • 2021-04-11
相关资源
最近更新 更多