c# - 选择工作簿 Excel 已使用按钮单击方法打开

标签 c# vsto excel

我有一个问题,我想用按钮点击方法插入数据,但这个方法是在功能区菜单 (VSTO) 中创建的。

为了更好地理解这一点,我想对数据库进行查询,将其发送到人员列表,然后在 excel 上打印我希望从这些人员那里看到的内容。例如,我只想查看姓名和生日,或姓名、身份证和职业。

为此,我需要选择运行应用程序时打开的工作簿。所以我试试这个:

private void button1_Click(object sender, RibbonControlEventArgs e)
        {
            Excel.Workbook wb = (Excel.Workbook)Globals.ThisWorkbook.InnerObject;
            Excel.Worksheet ws = wb.Sheets["Sheet1"];
            ws.Cells[1, 2] = "teste";
        }
  • 使用 Excel = Microsoft.Office.Tools.Excel;
  • 使用 ExcelTools = Microsoft.Office.Tools;
  • 使用 Microsoft.Office.Interop.Excel;

但是我得到这个错误: **“无法将‘System.__ComObject’类型的 COM 对象转换为接口(interface)类型‘Microsoft.Office.Tools.Excel.Workbook’。此操作失败,因为 COM 组件上的 QueryInterface 调用具有 IID 的接口(interface)” {B74CBB86-9C9F-4172-9AE7-3CE4A7BFA5EB}' 由于以下错误而失败:不支持此类接口(interface)(HRESULT 异常:0x80004002 (E_NOINTERFACE))。”**

可能比我看到的要容易,但我太累了,我需要完成这个...

最佳答案

男人试试这个:

using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Tools.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.VisualStudio.Tools.Applications.Runtime;
Excel.Worksheet wsheet =
  (Excel.Worksheet)Globals.ThisAddIn.Application.ActiveSheet;

关于c# - 选择工作簿 Excel 已使用按钮单击方法打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12900194/

相关文章:

c# - Android 中的 JSON 数组错误

excel - 如何在 Excel 中仅计算包含 1 的行

excel - 将总和放在行尾之后并应用于所有工作表

excel - 根据两个唯一的id合并行,并合并excel中的信息

c# - 如何在 C# Visual Studio 调试器中显示 1000 分隔符

c# - 在 Unity 中使用资源文件夹

c# - 如何通过内联代码对列表中的项目进行分组和拆分?

.net - 如何检查 COM 对象是否仍然存在

c# - Excel/Visual Studio/C#。如何更改单元格的显示名称但保留公式

c# - 从 Office 本身更新 ClickOnce VSTO 加载项不会更新加载项