2014-10-07 108 views
2

我想要从Excel工作簿导入数据而不实际显示打开的工作簿。使用互操作在后台打开Excel工作簿

我可以发誓,我用下面的代码在以前的项目和它的工作:

var excelApp = new Excel.Application { Visible = false }; 
var workbook = excelApp.Workbooks.Open(filePath); 

不幸的是,当工作簿打开它显示这是不必要的这个应用程序的用户。

我在此项目上使用Microsoft Excel 15.0对象库时,以前我认为它是版本12或13.也许这是问题,或者是我的内存褪色和代码不正确?

+2

”不幸的是,当打开它显示给用户,这是不需要这个应用程序。“如果用户不想看到它,为什么要为用户打开Excel?你试图欺骗用户的这种情况。 – Aron 2014-10-07 10:36:11

+1

@Aron我向你保证我不是。我正在写一些分析Excel工作簿数据的东西。用户将选择工作簿的文件路径,我的应用程序将解析所需的数据并添加到数据库中。没有邪恶的活动。 – 2014-10-07 10:39:55

+0

在这种情况下,您不应该运行Excel。请看看使用OpenXML。 – Aron 2014-10-07 10:41:10

回答

0

我知道这是旧的,但以防万一有人仍然需要这个答案...

excelApp.Visible = false; 

(excelApp正在使用的Excel应用程序变量的名称)的工作簿

+0

'Excel.Application {Visible = false};'和'excelApp.Visible = false;'有什么区别? – Alex 2016-07-24 10:22:47

+0

这只是一个称为“对象初始值设定项”的快捷方式 – 2016-09-13 17:14:53

相关问题