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

王朝c#·作者佚名  2006-01-09
宽屏版  字体: |||超大  

程序需要,我在网上找了很久才找到,刚刚把程序写好,并加写了注释,希望能帮助大家

再写程序前先引用

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否则会报错

存储时系统会自动提示是否更换文件,根据自己用发来用

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有