我在VB2010中有我的数据库,我希望将该数据库中的2个表推送到MS Excel 2010.我遇到了http://support.microsoft.com/kb/301982但是在执行了以下步骤之后我遇到了错误:输入'Excel.Application '没有定义。
Imports Microsoft.Office.Core
Imports Microsoft.Office.Interop.Excel
Imports System.Data
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim oRng As Excel.Range
'' etc...
End Sub
End Class
答案 0 :(得分:3)
尝试从菜单添加引用:项目>>添加参考>> .NET选项卡
并添加以下内容:
Microsoft.Office.infoPath.Excel
Microsoft.Office.Tools.Excel
答案 1 :(得分:2)
Imports Microsoft.Office.Interop.Excel
这意味着您使用的类型名称只是普通的应用程序,而不是Excel.Application。这会导致麻烦,在Winforms或WPF应用程序中它将是一个模糊的类型名称,它们也有一个名为Application的常见类型。这就是为什么你经常在示例代码中看到Excel.Application的原因。 Excel 是命名空间别名。你创建的是这样的:
Imports Excel = Microsoft.Office.Interop.Excel
现在您可以毫不费力地使用 Excel.Application 。
VB.NET也允许这样做:
Imports Microsoft.Office.Interop
但是这在C#中不起作用,命名空间别名会创建更多可移植代码。不确定这是否重要。
答案 2 :(得分:1)
使用直接Excel和其他办公自动化库需要在运行代码的计算机上安装完整的产品。查看使用NPOI或其他Excel自动化库来完成相同操作,而无需安装办公套件。
通常不建议在服务器上安装Office,即使您在最终客户端桌面环境中运行,也不必担心安装的Office版本和安装的其他客户端配置变量每次都能成功执行。
如果您坚持最初选择的路径,则需要捕获对当前运行的Excel应用程序实例(GetObject)的引用,或者为自己创建一个(CreateObject),如这样:
Set oXL = CreateObject("Excel.Application")
oXL.Visible = True
答案 3 :(得分:0)
这是一篇文章。它总结了VS2010中Excel的使用。在VS2010中也有一个例子。样本工作
http://checktechno.blogspot.com/2013/01/all-you-need-to-know-with-visual-basic.html
您还需要确保计算机已正确安装Excel。您有Excel 2010 Starter还是常规版本?
正如Tahbaza所说,如果CreateObject失败,那意味着该PC出现问题。