使用C#从打开的Excel工作表中获取当前单元格值

丰富

我有一个开放的Excel实例,实例已经通过COM进程连接到了,我已经更改了其中一个单元格的值。在C#中我无法连接到工作表,但是在python中我可以

工作的Python代码:

import xlwings as xw
wb = xw.Book('c:/users/me/Desktop/mysheet.xlsx')
sheet = wb.sheets['Sheet1']
print(sheet.range('B1').value) # returns the current value

无效的C#代码:

var xlApp = (Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
Workbook wb = xlApp.ActiveWorkbook; // returns null
Worksheet excelSheet = wb.ActiveSheet;
string test = excelSheet.Cells[1, 2].Value.ToString(); 

鉴于已经通过另一软件产品的COM自动化打开了C#,是否有办法使C#连接到此工作表?

如果有多个正在运行的实例,关于GetActiveObject的大多数在线讨论都是与Excel的特定实例进行对话,而我遇到了相反的问题,即一个Excel实例和多个试图与其连接的应用程序。

斯莱
Workbook wb = System.Runtime.InteropServices.Marshal.BindToMoniker(@"c:\users\me\Desktop\mysheet.xlsx") as Workbook;

即使工作簿是否已经在Excel中打开,也应该获取该工作簿。

https://blogs.msdn.microsoft.com/eric_carter/2009/03/12/attaching-to-an-already-running-office-application-from-your-application-using-getactiveobject-or-bindtomoniker/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Apache Poi从Excel工作表中获取单元格值

使用C#获取表的单元格值

如何使用 c# 在 Excel 工作表的指定单元格中插入新行?

如何从Excel工作表中的单元格获取数值

公式 - 使用单元格值获取工作表名称

使用 C# 中的 Spire.Office 将 Excel 工作表导出到 Word 维护合并的单元格

使用Excel计算工作表中的单元格,值和公式的数量

如何检查哪些单元格属于合并单元格并使用 c# Excel Interop 获取合并单元格的值?

检查Excel工作表中是否存在单元格值,然后获取底部单元格的值并将其添加

在函数中使用单元格的值从其他工作表中获取数据-Google工作表

从C#中的Excel单元格获取文本框的值

使用C#将值写入Excel单元格

如何从一个工作表中获取相邻的值,并根据当前工作表中另一个单元格的内容求和?

获取当前表之前的表中的单元格

Excel:从工作表中调用vba函数时,将当前单元格作为参数传递

使用其他工作表中其他单元格中的值引用Excel中的单元格(选项卡)

如何使用C#从Excel文件中的不同单元格中查找相同的值

使用OpenXML C#获取Excel中单元格的列索引

从RichTextBox中获取每一行,并使用C#导出到excel单元格

使用 Outlook 发送电子邮件工作表,从打开的工作簿中获取值,从 Excel

使用 C# 在 excel 中的单元格上循环

使用C#中的OLE DB将dateTimePicker值插入Excel日期单元格

复制并粘贴excel工作表,代码中要引用的工作表单元格数据值

获取DBGrid中的当前单元格值

如何使用参考单元格的值对另一个工作表中的excel数据求和

如何使用 Python 遍历 Excel 工作表的行或列并在单元格中查找特定值?

使用单元格值作为工作表值

如何获取当前的Excel单元格

连接Excel中多个工作表中的单元格