这个简单,看下面代码(适应各版本Excel,但前提是完整安装的excel )
创新互联是一家集网站建设,西宁企业网站建设,西宁品牌网站建设,网站定制,西宁网站建设报价,网络营销,网络优化,西宁网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
Try
Dim excelObj As Object = GetObject(, "Excel.Application")
If excelObj.Workbooks.Count = 0 Then '注意,如果是新建未保存的工作簿不算打开
MsgBox("没有工作簿打开")
excelObj = Nothing
Exit Sub
End If
excelObj.Workbooks(1).Worksheets(1).Range("A1").Value = "123" '表示把已经打开的第一个工作簿的第一个工作表的A1单元格赋值为“123”
excelObj = Nothing
Catch ex As Exception
MsgBox(ex.Message)
End Try
这里有段VB6.0的,你可以参考。
注意添加引用。
Private Sub Command6_Click()
Dim i, j As Integer
Dim xlApplication As Excel.Application, xlWorkbook As Excel.Workbook, xlSheet
Dim xlApp As Excel.Application
On Error Resume Next
Set xlApplication = GetObject(, "Excel.Application")
Set xlApp = CreateObject("Excel.Application")
If MsgBox("确认将文件信息导出到EXCEL中?�", vbExclamation + vbYesNo, "警告") = vbYes Then
If Err.Number 0 Then Set xlApplication = CreateObject("Excel.Application")
Set xlWorkbook = xlApplication.Workbooks.Add
Set xlSheet = xlWorkbook.ActiveSheet
xlSheet.Cells(1, 2) = lblcl.Caption
xlSheet.Range("A1:E1").MergeCells = True
xlSheet.Range("A1:E1").HorizontalAlignment = xlCenter
xlSheet.Cells(2, 2).ColumnWidth = 18
For i = 1 To DataGrid1.Columns.Count
xlSheet.Cells(2, 1) = "编号"
xlSheet.Cells(2, i + 1) = DataGrid1.Columns(i).Caption
For j = 0 To DataGrid1.VisibleRows - 1
xlSheet.Cells(j + 3, 1) = j + 1
xlSheet.Cells(j + 3, i + 1) = DataGrid1.Columns(i).CellText(DataGrid1.RowBookmark(j))
Next j
Next i
xlApplication.Visible = True
Set xlSheet = Nothing
Set xlWorkbook = Nothing
Set xlApplication = Nothing
'xlApp.Range("A2:L2").Columns.Interior.ColorIndex = 40
'xlApp.Range("A2:L2").Borders.LineStyle = xlContinuous
'xlApp.Visible = True
'xlApp.Range(xlSheet.Cells(2 + PartsRs.RecordCount + 1, 1), xlSheet.Cells(2 + PartsRs.RecordCount + 1, 8)).Columns.Interior.ColorIndex = 40
'xlApp.Range(xlSheet.Cells(2 + PartsRs.RecordCount + 1, 1), xlSheet.Cells(2 + PartsRs.RecordCount + 1, 8)).Borders.LineStyle = xlContinuous
Else
MsgBox "无信息可供您导出,请确认!", vbExclamation + vbOKOnly, "警告"
End If
End Sub
现在工程里添加引用Microsoft.Office.Interop.Excel,然后可以使用如下代码输出。
Dim oXl As Excel.Application = New Excel.Application()
Dim oWb As Excel.Workbook
Dim oWs As Excel.Worksheet
On Error GoTo Morn
oWb = oXl.Workbooks.Add()
oWs = oWb.Worksheets(1)
With oWs
.Cells._Default(1, 1).Value ="a"
.Cells._Default(1, 2).Value ="b"
.Cells._Default(1, 3).Value ="c"
.Cells._Default(1, 4).Value ="d"
.Cells._Default(2, 1).Value ="32"
.Cells._Default(2, 2).Value ="1"
.Cells._Default(2, 3).Value ="90"
.Cells._Default(2, 4).Value ="合格"
End With
oWs.Parent.Names.Add("CostRange", "=" "A1:B39")
oWs.SaveAs(sFileName)
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
If MsgBox("已将数据输出到Excel文件中! 现在打开该文件?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "已完成") = MsgBoxResult.No Then
oXl.Quit()
Else
oXl.Visible = True
End If
oXl = Nothing
oWs = Nothing
oWb = Nothing
使用 ADO 连接到 Excel
ADO 使用 MDAC 中以下两个 OLE DB 提供程序中的任何一个都可以连接到 Excel 数据文件。
Microsoft Jet OLE DB Provider — 或 —Microsoft OLE DB Provider for ODBC Drivers
使用 Microsoft Jet OLE DB Provider
Jet 提供程序只需要两条信息就可以连接到 Excel 数据源:路径(包括文件名),和 Excel 文件版本。
Jet 提供程序使用连接字符串
Dim cn as ADODB.Connection
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\MyFolder\MyWorkbook.xls;" _
"Extended Properties=Excel 8.0;"
.Open
End With
提供程序版本:必须使用 Jet 4.0 提供程序;Jet 3.51 提供程序不支持 Jet ISAM 驱动程序。如果指定了 Jet 3.51 提供程序,在运行时会出现以下错误信息:
Couldn't find installable ISAM.
Excel 版本:对于 Excel 95 工作簿(Excel 版本 7.0),应指定 Excel 5.0;对于 Excel 97、Excel 2000 或 Excel 2002 (XP) 工作簿(Excel 版本 8.0、9.0 和 10.0),应指定 Excel 8.0 版本。
使用“数据链接属性”对话框的 Jet 提供程序
如果在应用程序中使用“ADO 数据控件”或“数据环境”,就会出现数据链接属性对话框来收集必要的连接设置。
在提供程序选项卡上,选择 Jet 4.0 提供程序;Jet 3.51 提供程序不支持 Jet ISAM 驱动程序。如果指定了 Jet 3.51 提供程序,在运行时会出现以下错误信息:
Couldn't find installable ISAM.
在连接选项卡上,浏览到工作簿文件。忽略“用户 ID”和“密码”项,因为这些不适用于 Excel 连接。(无法打开受密码保护的 Excel 文件作为数据源。)
在所有选项卡上,从列表中选择扩展属性,然后单击编辑值。输入 Excel 8.0;,用分号 (;) 将其与任何其他已有的项分隔。如果忽略此步骤,测试连接时将出现一条错误信息。这是因为如果不另行指定,Jet 提供程序期望 Microsoft Access 数据库。返回到连接选项卡,并单击测试连接。将出现一个消息框,通知测试已成功完成即可。
Sub Excel()
Const FilePath As String = "C:\1.xls" '文件名
Dim ExApp As Object = CreateObject("Excel.Application")
ExApp.Visible = True
If Not IO.File.Exists(FilePath) Then
ExApp.Workbooks.Add()
ExApp.ActiveWorkbook.SaveAs(FilePath)
Else
ExApp.Workbooks.Open(FilePath)
End If
Dim Wk As Object = ExApp.ActiveWorkbook
Dim iRow As Integer = Wk.ActiveSheet.Range("A65535").End(3).Row + 1
'添加需要的代码
Wk.ActiveSheet.Cells(iRow, 1).Value = "xxxxx"
ExApp = Nothing
Wk = Nothing
End Sub
因为Excel表的左上角的单元格都是以第一行第一列
MsgBox(LBound(arr, 1)) '一维最小下标
MsgBox(LBound(arr, 2)) '二维最小下标
测试:用上面函数(LBound)得到的结果都是1