vb6.0调用excel制作任意表格

vb6.0调用excel制作任意表格

ID:17544473

大小:33.00 KB

页数:3页

时间:2018-09-02

vb6.0调用excel制作任意表格_第1页
vb6.0调用excel制作任意表格_第2页
vb6.0调用excel制作任意表格_第3页
资源描述:

《vb6.0调用excel制作任意表格》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VB6.0调用Excel制作任意表格在VB中制作报表一般来讲有三种方法:1、直接使用VB6.0中自带的DataReport来做,这种方法有很大的局限性,对于比较规则的报表,但对于比较复杂的报表,比如说一张报表,上部分是人员的工资,下部分是人员的各日的考勤,使用这种方法就无能为力。2、使用直接的打印方法,即Printer.print,这种方法直接向打印机打印,就象过去使用Foxpro似的,需要进行打印机定位,并且在Windows下,不同的字符数字所占的宽度也不相同,所以这种方法使用起来非常麻烦。3、使

2、用微软的Excel。本文重点讨论用Excel来制作报表所涉及的问题。我们用Excel做报表时,不仅是将所要的内容填到Excel的工作表中,而且还需要填写公式、定义合适的格式(格线、字体、对齐)等。Excel的每张工作表是由若干行、若干列构成的,行列的交叉形成的小格称作单元格。我们正好可以用这些现成的单元格来做我们的报表的相应的格。为了程序简单,可以将报表的模板做好,如表头,相应的行高、列宽、字体、对齐调整好(事实上,这些也可以通过程序来实现,只是麻烦点。),然后利用VB程序来操纵Excel。这里我们

3、以SQLSERVER7.0为后台数据。首先定义好需要的变量,在VB6.0的菜单"工程引用"中确保MicrosoftExcel8.0ObjectLibrary(在Excel2000中,此处为Excel9.0)复选框选中。再向Excel工作表中填入数据:DimVBExcelAsExcel.ApplicationDimxlbookAsExcel.Workbook定义Excel工作簿对象DimxlsheetAsExcel.Worksheet定义Excel工作表对象DimrssalaryAsNewADODB

4、.Recordset定义记录集rssalary.OpenSQLStrsalary,CNstring,adOpenStatic,adLockReadOnlyrssalary为已计算好的工资数据记录集。SQLStrsalary是SQL语句(如select*FROMSALARY)。Cnstring是连接字符串(如Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=DBname;DataSo

5、urce=servername)。SetVBExcel=createObject("excel.application")VBExcel.Visible=True根据操作人员是否需要见到Excel此处可设为TRUE或FALSESetxlbook=VBExcel.Workbooks.Open(ExcelFile)ExcelFile为事先设计好的Excel模板文件(包括路径)Setxlsheet=xlbook.Worksheets("salary")Salary为Excel模板工作表的名字xlsheet

6、.Activate下面是向单元格中填写数据(以一个简单的工资打印为例):xh=1Row=6从第6行开始是工资数据,1-5行为工资单表头SumRow=RowSumRow用来存放合计的起始行DoWhileNotrssalary.EOFCol=1xlsheet.Cells(Row,Col).Value=xhCol=Col+1xlsheet.Cells(Row,Col).Value=rssalary("name")Col=Col+1xlsheet.Cells(Row,Col).Value=Str(rssal

7、ary("jngz").Value)Col=Col+1xlsheet.Cells(Row,Col).Value=Str(rssalary("jbdx").Value)Col=Col+1xlsheet.Cells(Row,Col).Value=Str(rssalary("gwgz").Value)Col=Col+1xlsheet.Cells(Row,Col).Value=Str(rssalary("zygz").Value)Col=Col+1xlsheet.Cells(Row,Col).Value=S

8、tr(rssalary("jfgz").Value)Col=Col+1xlsheet.Cells(Row,Col).Value=Str(rssalary("yfgz").Value)xh=xh+1Row=Row+1rssalary.MoveNextLoop以上可将各人的工资项打印出来,下面是合计(仅以一列的合计为例,填写公式):Col=1xlsheet.Cells(Row,Col).Value=""Col=Col+1xlsheet.Cells(Row,Col).Val

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。