2016-04-27 130 views
0

當我沒有在服務器上安裝Microsoft Excel時,如何讀取vb6中的excel文件。 我想添加「Microsoft Excel 12.0對象庫」的引用,但我看不到要添加到引用中的對象。 我應該下載哪些文件或dll文件才能使其正常工作。在VB6中讀取Excel文件

Dim xl As Excel.Application 
Dim xlwBook As New Excel.Workbook 
Dim xlSheet As New Excel.WorkSheet` 

我可以使用這個應用程序,當我沒有安裝在我的系統上的Excel?

任何幫助將被賞識。

+0

彈出一個cmd提示符,輸入odbcad32。您可以使用的驅動程序選項卡下。您也可以使用jet引擎或ACE OLE DB,但您可能需要從Microsoft安裝accessdatabaseengine.exe。 – cup

+0

我已經安裝了訪問數據庫引擎。我可以在ODBC管理器中看到Microsoft Excel驅動程序。但是當我試圖在參考文獻中添加它時說「不能添加參考」。我在做什麼是正確的? – KloppForKop

+0

https://support.microsoft.com/zh-cn/kb/195951 這是一篇文章,詳細介紹了讀取excel文件的步驟,就好像它是數據庫一樣。它需要以表格格式。 – 2016-04-27 22:09:35

回答

1

我使用 「的Microsoft Excel 14.0對象庫」(Office 2010中),並將其指向直奔EXCEL.EXE

VB6 References

辦公室2007+有利於.NET但對於VB6我覺得你可以發揮它通過安裝工作Office Primary Interop Assemblies

而您可能需要使用create object。像,

Public objExcel As Object 'instead of Excel.Application 
Set objExcel = CreateObject("Excel.Application") 
+0

感謝您的回覆!你提到的方式即使在我沒有添加任何參考時也能正常工作。但我試圖通過添加「Microsoft Excel 12.0對象庫」使用「Excel.Application」來使其工作。 – KloppForKop

+0

將它用作對象並直接用作應用程序有什麼主要區別? – KloppForKop

+0

當直接使用對象,如「Excel.Application」時,它被稱爲早期綁定。您將需要開發機器和客戶機器中的特定版本的參考。當使用CreateObject時,它被稱爲後期綁定,編譯器不會爲程序集的內部結構(智能感知不會工作)而煩惱,該對象是用相同名稱的程序集動態創建的(版本不重要) – lal

1

如果你沒有Excel安裝,你不能使用它的COM模型(Excel.Application)或其它地方所提到的PIA的(這將是沒有用的,即使你確實有安裝Excel的)。

您應該使用ODBC & ADO來執行此操作。

,我可以看到在ODBC管理Microsoft Excel驅動程序..但是當我嘗試添加在參考它說:「不能添加引用」

你不引用在驅動程序中,您可以參考在連接字符串中通過名稱指定驅動程序的ADO(Microsoft ActiveX Data Objects)。

有很多這樣的例子,例如, https://support.microsoft.com/en-us/kb/278973

+0

感謝您提供有價值的信息。我會從你提供的鏈接中嘗試它!非常感謝.. – KloppForKop