龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

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

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
程序需要,我在网上找了很久才找到,刚刚把程序写好,并加写了注释,希望能帮助大家 再写程序前先引用 microsoftexcel11.0objectLibrary 我看到的文章是10.0的,我这是office2003是11.0,只要安
程序需要,我在网上找了很久才找到,刚刚把程序写好,并加写了注释,希望能帮助大家
  再写程序前先引用
  microsoftexcel11.0objectLibrary
  我看到的文章是10.0的,我这是office2003是11.0,只要安了excel就有这个引用~
  PrivateSubcmdsave_Click()
  MsgBox"文件保存为:D:电网配电线路管理信息系统信息查询结果事故信息查询结果.xls"
  DimiAsInteger
  DimjAsInteger
  DimexAsObject
  DimexwbookAsObject
  DimexsheetAsObject
  
  Setex=CreateObject("Excel.Application")
  Setexwbook=Nothing
  Setexsheet=Nothing
  Setexwbook=ex.Workbooks().Add
  Setexsheet=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为记录个数使用循环将数据全部添加
  Fori=1ToAdodc1.Recordset.RecordCount
  j=3 i
  'k为数据列数
  Fork=0To11
  '通过使用变量k和j变换单元格位置
  q=Chr(99 k)&j
  '将datagrid1的数据放到单元格内
  ex.Range(q).Value=DataGrid1.Columns(k)
  Nextk
  '指针下移
  IfAdodc1.Recordset.EOF=FalseThen
  Adodc1.Recordset.MoveNext
  EndIf
  Nexti
  
  '保存输入到事故信息查询结果.xls
  exwbook.SaveAs"D:电网配电线路管理信息系统信息查询结果事故信息查询结果.xls"
  '退出excel
  ex.Quit
  EndSub
  我觉得这段程序很简单而且很使用,使用时不要打开事故信息查询结果.xls否则会报错
  存储时系统会自动提示是否更换文件,根据自己用发来用->

精彩图集

赞助商链接