从Excel文件中读取值

reg*_*gie 5 vb.net excel

我想从12 excel表中获得一个值.有没有办法在没有打开excel表的情况下获得价值?我正在使用vb.net.如果有办法在不打开excel文件的情况下读取值,请发布示例代码.谢谢

Mik*_*scu 5

如果不打开Excel文件,则无法读取值.但您可以在不必打开Excel的情况下阅读这些值.

如果文件以xml格式保存,那将更容易.如果没有,最简单的方法是仍然使用Excel但使用Office Automation来执行此操作.困难的方法是创建一个excel文件解析器 - 非常开放的xml excel格式(Office 2003之前)很难 - 很难但仍然可能.

但是,如果不打开文件就无法从excel电子表格中读取.

这里有一段代码可以用来从VB.NET打开电子表格,利用Office Automation(它仍然打开文件,依赖于Excel自动化dll,但不需要打开Excel):

免责声明

以下代码不是按原样使用,而只是它是一个示例,以指导读者自己的解决方案,应该进行彻底的测试.

' The code below requires you to add references to Office Interop assemblies
' into your VB.NET project  (if you don't know how to do that search Google)

xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Open("<YOUR EXCEL SPREADSHEET FILE HERE")
xlWorkSheet = xlWorkBook.Worksheets("sheet1")

range = xlWorkSheet.UsedRange

For rCnt = 1 To range.Rows.Count
    For cCnt = 1 To range.Columns.Count
        Obj = CType(range.Cells(rCnt, cCnt), Excel.Range)
        ' Obj.value now contains the value in the cell.. 
    Next
Next
Run Code Online (Sandbox Code Playgroud)

  • 实际上,普遍的共识是,应该使用下选票来标记错误的答案,或者不适用于问题(我不相信我的问题).当然,每个人都可以按自己认为合适的方式自由使用它们,我建议你看看以下关于MetaSO的讨论:http://meta.stackexchange.com/questions/2451/why-do-you-cast- downvotes-ON-答案 (4认同)
  • 你不可能是认真的......亚历山大..上面的代码就是一个例子..我没想到有人会把它当作原样并在生产应用程序中盲目地抛弃它. (2认同)