CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

如何导出excel格式的报表

楼主sunwei5766(国际米兰)2005-04-21 18:33:06 在 VB / 控件 提问

我现在要编个vb程序,是从sql   server2000数据库取出数据生成报表,然后可以把报表导出为excel格式,请问怎么做,谢了,最好能有个代码例子。 问题点数:20、回复次数:4Top

1 楼lingbo_wx(上海小浪人)回复于 2005-04-22 11:21:34 得分 0

我也要Top

2 楼JJclub(阿J)回复于 2005-04-22 15:32:43 得分 20

很久之前写的,你看一下行不行:  
   
  Public   Sub   RecordsetPrint(myRecordset   As   DAO.Recordset)  
  '********************************************************  
  '   ◆   函   数   名:RecordsetPrint  
  '   ◆   功         能:用Excel实现报表打印/预览功能  
  '   ◆   说         明:  
  '   ◆   作         者:C   J  
  '   ◆   日         期:2004年05月11日  
  '   ◆   描         述:  
  '   ◆   修         改:改为直接对Recordset进行操作  
  '********************************************************  
   
  If   myRecordset   Is   Nothing   Then   Exit   Sub  
   
  Screen.MousePointer   =   vbHourglass  
   
  '----------Excel操作--------  
  Dim   m_Excel   As   Excel.Application  
  Dim   m_ExcelBook   As   Excel.Workbook  
  Dim   m_ExcelSheet   As   Excel.Worksheet  
  '--------------------------  
   
  Set   m_Excel   =   CreateObject("Excel.Application")  
  Set   m_ExcelBook   =   m_Excel.Workbooks.Add  
  Set   m_ExcelSheet   =   m_ExcelBook.Worksheets(1)  
   
  With   myRecordset  
   
          Dim   intCol   As   Long  
          Dim   intRow   As   Long  
   
          '-----输出标题行-----  
          For   intCol   =   0   To   .Fields.Count   -   1  
                  'm_ExcelSheet.Cells(1,   intCol   +   1)   =   .Fields(intCol).Properties("Caption")  
                  m_ExcelSheet.Cells(1,   intCol   +   1)   =   .Fields(intCol).ValidationText  
          Next   intCol  
          '-------------------  
           
          '------输出内容------  
        .MoveFirst  
          Do   While   Not   .EOF  
                  For   intCol   =   0   To   .Fields.Count   -   1  
                          m_ExcelSheet.Cells(intRow   +   2,   intCol   +   1)   =   .Fields(intCol).Value  
                  Next   intCol  
                  .MoveNext  
                  intRow   =   intRow   +   1  
          Loop  
          '-------------------  
   
  End   With  
   
   
  '-----设置页面打印信息-----  
  With   m_ExcelSheet.PageSetup  
          .LeftHeader   =   "&""楷体_GB2312,常规""&10制表日期:"   &   Date  
          .CenterHeader   =   "&""楷体_GB2312,常规""&15报表大标题"  
          .RightHeader   =   "&""楷体_GB2312,常规""&10报表名称"  
          .LeftFooter   =   "&""楷体_GB2312,常规""&10公司:XXXXXX公司"  
          .CenterFooter   =   "&""楷体_GB2312,常规""&10第&P页   共&N页"  
          .RightFooter   =   "&""楷体_GB2312,常规""&10制表人:CJ"  
           
          .PrintGridlines   =   True  
          .Orientation   =   xlLandscape  
  End   With  
  '-------------------------  
   
   
  '----数据位于单元格中间----  
  m_Excel.Cells.Select  
  m_Excel.Selection.HorizontalAlignment   =   xlCenter  
  '-------------------------  
   
   
  '----Excel其它参数设置-----  
  m_Excel.Application.Visible   =   True  
  m_ExcelSheet.PrintPreview  
  m_Excel.DisplayAlerts   =   False  
  m_ExcelBook.Close  
  m_Excel.Quit   'Quit之后无法实现分页预览  
  '-------------------------  
   
   
  '-----释放变量-----  
  Set   m_Excel   =   Nothing    
  Set   m_ExcelBook   =   Nothing  
  Set   m_ExcelSheet   =   Nothing  
  '-----------------  
   
  Screen.MousePointer   =   vbDefault  
   
  End   Sub  
  Top

3 楼kain80817(kain)回复于 2005-04-22 15:35:30 得分 0

关键在于Excel这个对象的应用Top

4 楼intocsdn(小胖哥)回复于 2005-04-22 16:50:44 得分 0

学习Top

相关问题

  • 如何将DevExpress的报表导出为Word 或者 Excel格式
  • ActiveReport报表导出为Excel格式问题
  • 怎样把自由格式VFP 报表导出到word 或EXCEL
  • 水晶报表导出打印(word,excel,pdf三种格式)求救!急!急!急!
  • 水晶报表导出Excel格式变了阿?求解决方案
  • VB6.0中DataReport设计好的数据报表,报表能按这种格式导出到Excel中吗?
  • pb报表导出WORD格式
  • ACCESS报表导出到WORD格式
  • 水晶报表导出为excel文档?
  • 数据导出成Excel文件格式

关键词

  • 报表
  • excel
  • intcol
  • excelbook
  • myrecordset
  • excelsheet
  • dim

得分解答快速导航

  • 帖主:sunwei5766
  • JJclub

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo