电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 认证考试-> Macrmedia认证
用vb控制excel生成报表_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
做为一种简捷、系统的Windows应用程序开发工具,VisualBasic5具有强大的数据处理功能,提供了多种数据访问方法,可以方便地存取MicrosoftSQLServer、Oracle、XBase等多种数据库,被广泛应用于建立各种信息管理系统。但是,VB缺乏足够的、符合中文习惯的数据表格输出功能,虽然使用CrystalReport控件及CrystalReports程序可以输出报表,但操作起来很麻烦,中文处理能力也不理想。Excel作为Micorsoft公司的表格处理软件在表格方面有着强大的功能,我们可用VB5编写直接控制Excel操作的程序,方法是用VB的OLE自动化技术获取Excel97的控制句柄,从而直接控制Excel97的一系列操作。

下面给出一个实例:

首先建立一个窗体(FORM1)在窗体中加入一个DATA控件和一按钮,

引用MicrosoftExcel类型库:

从"工程"菜单中选择"引用"栏;

选择MicrosoftExcel8.0ObjectLibrary;

选择"确定"。

在FORM的LOAD事件中加入:
  Data1.DatabaseName=数据库名称
  Data1.RecordSource=表名
  Data1.Refresh

在按钮的CLICK事件中加入
  DimIrow,IcolAsInteger
  DimIrowcount,IcolcountAsInteger
  DimFieldlen()"存字段长度值
  DimxlAppAsExcel.Application
  DimxlBookAsExcel.Workbook
  DimxlSheetAsExcel.Worksheet

  SetxlApp=CreateObject("Excel.Application")
  SetxlBook=xlApp.Workbooks.Add
  SetxlSheet=xlBook.Worksheets(1)

  WithData1.Recordset
  .MoveLast

  If.RecordCount<1Then
    MsgBox("Error没有记录!")
    ExitSub
  EndIf

  Irowcount=.RecordCount"记录总数
  Icolcount=.Fields.Count"字段总数

  ReDimFieldlen(Icolcount)
  .MoveFirst

8

  ForIrow=1ToIrowcount 1
   ForIcol=1ToIcolcount
  SelectCaseIrow
  Case1"在Excel中的第一行加标题
  xlSheet.Cells(Irow,Icol).Value=.Fields(Icol-1).Name
  Case2"将数组FIELDLEN()存为第一条记录的字段长

  IfIsNull(.Fields(Icol-1))=TrueThen
    Fieldlen(Icol)=LenB(.Fields(Icol-1).Name)
     "如果字段值为NULL,则将数组Filelen(Icol)的值设为标题名的宽度
  Else
    Fieldlen(Icol)=LenB(.Fields(Icol-1))
  EndIf

  xlSheet.Columns(Icol).ColumnWidth=Fieldlen(Icol)
   "Excel列宽等于字段长
  xlSheet.Cells(Irow,Icol).Value=.Fields(Icol-1)
   "向Excel的CellS中写入字段值
  CaseElse
  Fieldlen1=LenB(.Fields(Icol-1))

  IfFieldlen(Icol)<Fieldlen1Then
  xlSheet.Columns(Icol).ColumnWidth=Fieldlen1
   "表格列宽等于较长字段长
  Fieldlen(Icol)=Fieldlen1
   "数组Fieldlen(Icol)中存放最大字段长度值
  Else
   xlSheet.Columns(Icol).ColumnWidth=Fieldlen(Icol)
  EndIf

  xlSheet.Cells(Irow,Icol).Value=.Fields(Icol-1)
  EndSelect
  Next
  IfIrow<>1Then
  IfNot.EOFThen.MoveNext
  EndIf
  Next
  WithxlSheet
  .Range(.Cells(1,1),.Cells(1,Icol-1)).Font.Name="黑体"
   "设标题为黑体字
  .Range(.Cells(1,1),.Cells(1,Icol-1)).Font.Bold=True
   "标题字体加粗
  .Range(.Cells(1,1),.Cells(Irow,Icol-1)).Borders.LineStyle=xlContinuous
   "设表格边框样式
  EndWith
  xlApp.Visible=True"显示表格
  xlBook.Save"保存
  SetxlApp=Nothing"交还控制给Excel
  EndWith

本程序在中文Windows98、中文VB5下通过。->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·photoshop实例教程:帮美女纹身_photoshop教程
·试试xp的无敌替换命令_windows xp
·vb驱动pcanywhere进行文件传输_visualbasic教程
·怎样在vb中声明和使用api函数_visualbasic教程
·大小写互换的三种方法_visualbasic教程
·用vb控制excel生成报表_visualbasic教程
·autocad的自定义命令_autocad教程
·photoshop制作酒红色调金属界面特效_photoshop教程
·autocad阵列操作全攻略_autocad教程
·auto cad中为三维图形添加尺寸标注_autocad教程

最新文章
·auto cad中为三维图形添加尺寸标注_autocad教程
·photoshop巧妙快速绘制胶片边框_photoshop教程
·用photoshop打造好莱坞电影特效照片_photoshop教程
·photoshop直观调节反转负冲效果_photoshop教程
·用xp系统自带网络诊断程序解决网络故障_windows xp
·zend studio5.5测试版 兼容三系统_php文摘
·photoshop基础教程:跟我学调色练习9-通道替换调色_photoshop教程
·photoshop实例教程:帮美女纹身_photoshop教程
·autocad阵列操作全攻略_autocad教程
·在位编辑参照_autocad教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号