【发布时间】:2016-01-13 10:20:55
【问题描述】:
我的应用程序需要一个 Excel 才能被一个类中的 2 个不同函数读取。
我有一个读取标题并将它们保存到 .txt 文件,一个读取数据并将其放入我的 DataGridView
据我所知,Interop.Excel 是处理我将在程序中打开的 excel 文件的最佳方式,但不幸的是,我留下了一些相当长的重复代码。
目前每个类都包含以下代码:
Dim exApp = New Excel.Application
Dim exWB = exApp.Workbooks.Open(myFilePath)
Dim exWS = exWB.Sheets(1)
** Some statements run here **
exApp.Quit()
exApp = Nothing
exWB = Nothing
如果我只有两个函数,问题不大,但如果我有 5 个,这似乎是一个很长的方法来继续打开和关闭 Excel 对象。
处理要使用的 excel 对象而不是关闭并重新打开的最好或更有效的方法是什么?
我已经尝试在我正在使用的类中初始化 Excel 对象,但是当我试图从一个表示不允许的函数中关闭它时出现错误。 我还尝试创建一个 CloseExcel() 函数,该函数通过 ByRef 传递要关闭的 excel 对象,但我得到了同样的错误。
任何想法或讨论将不胜感激。
非常感谢!
【问题讨论】:
-
“我收到错误”不是恰当的问题描述。
标签: excel vb.net visual-studio-2015 com-interop excel-interop