从VB中的Datagride中向excel导入数据

程序需要,我在网上找了很久才找到,刚刚把程序写好,并加写了注释,希望能帮助大家
再写程序前先引用
microsoft excel 11.0 object Library
我看到的文章是10.0的,我这是office2003是11.0,只要安了excel就有这个引用~
Private Sub cmdsave_Click()
MsgBox "文件保存为: D:\电网配电线路管理信息系统\信息查询结果\事故信息查询结果.xls"
Dim i As Integer
Dim j As Integer
Dim ex As Object
Dim exwbook As Object
Dim exsheet As Object

Set ex = CreateObject("Excel.Application")
Set exwbook = Nothing
Set exsheet = Nothing
Set exwbook = ex.Workbooks().Add
Set exsheet = exwbook.Worksheets("sheet1")

'在excel里表格的表头,这是根据我的需要添加的标头
ex.Range("c3").Value = "日期"
ex.Range("d3").Value = "时间"
ex.Range("e3").Value = "站点"
ex.Range("f3").Value = "汇报人"
ex.Range("g3").Value = "线路双编号"
ex.Range("h3").Value = "保护动作类型"
ex.Range("i3").Value = "事故原因"
ex.Range("j3").Value = "处理负责人"
ex.Range("k3").Value = "处理方法"
ex.Range("l3").Value = "处理结果"
ex.Range("m3").Value = "结束时间"
ex.Range("n3").Value = "备注"
'i为记录个数使用循环将数据全部添加
For i = 1 To Adodc1.Recordset.RecordCount
j = 3 + i
'k为数据列数
For k = 0 To 11
'通过使用变量k和j变换单元格位置
q = Chr(99 + k) & j
'将datagrid1的数据放到单元格内
ex.Range(q).Value = DataGrid1.Columns(k)
Next k
'指针下移
If Adodc1.Recordset.EOF = False Then
Adodc1.Recordset.MoveNext
End If
Next i

'保存输入到事故信息查询结果.xls
exwbook.SaveAs "D:\电网配电线路管理信息系统\信息查询结果\事故信息查询结果.xls"
'退出excel
ex.Quit
End Sub
我觉得这段程序很简单而且很使用,使用时不要打开 事故信息查询结果.xls否则会报错
存储时系统会自动提示是否更换文件,根据自己用发来用

Published At
Categories with Web编程
Tagged with
comments powered by Disqus