VB操作Excel实现读取写入打印.docx

上传人:b****3 文档编号:3094891 上传时间:2022-11-17 格式:DOCX 页数:8 大小:18.57KB
下载 相关 举报
VB操作Excel实现读取写入打印.docx_第1页
第1页 / 共8页
VB操作Excel实现读取写入打印.docx_第2页
第2页 / 共8页
VB操作Excel实现读取写入打印.docx_第3页
第3页 / 共8页
VB操作Excel实现读取写入打印.docx_第4页
第4页 / 共8页
VB操作Excel实现读取写入打印.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

VB操作Excel实现读取写入打印.docx

《VB操作Excel实现读取写入打印.docx》由会员分享,可在线阅读,更多相关《VB操作Excel实现读取写入打印.docx(8页珍藏版)》请在冰豆网上搜索。

VB操作Excel实现读取写入打印.docx

VB操作Excel实现读取写入打印

VB操作Excel实现读取写入打印

VB操作EXCEL,实现数据写入以及数据组合

1】定义EXCEL的一系列操作

DimxlAppAsExcel.Application

DimExcelShowStrAsString

SetxlApp=CreateObject("Excel.Application")

xlApp.Visible=true

AppLogFile.WriteLine(CStr(Date)&"_"&CStr(Time)&":

SetxlApp=newExcel.Application")

DimxlBookAsWorkbook

DimxlSheetAsWorksheet

Dimxlrow,sheetIndex,sheetColumnAsInteger

'fileurl="D:

\VB英迈\Template\WriteData.xls"Editable=空值

SetxlBook=xlApp.Workbooks.Open(fileUrl,Editable)'打开EXCEL模板

SetxlSheet=xlApp.ActiveSheet

--------------------------------------------------------------------------------------------

【2】写入数据的操作

xlSheet.Range(xlSheet.Cells(beginRow,1),xlSheet.Cells(endRow-1,1)).Merge'合并单元格

xlSheet.Cells(beginRow,1).FormulaR1C1=CustName'单行插入

xlSheet.Cells(beginRow,1).VerticalAlignment=xlTop'垂直,写入数据的位置,这里为高

xlSheet.Cells(beginRow,2).HorizontalAlignment=xlHAlignCenter'水平写入数据的位置,这里为居中

xlSheet.Range(xlSheet.Cells(beginRow,1),xlSheet.Cells(endRow-1,19)).Font.ColorIndex=ConstModule.COLOR_BLUE'单元格的字体颜色

xlSheet.Range(xlSheet.Cells(beginRow,1),xlSheet.Cells(endRow-1,19)).Font.Bold=True'单元格的数据为粗体显示

xlSheet.Range(xlSheet.Cells(beginRow,1),xlSheet.Cells(endRow-1,19)).Interior.ColorIndex=ConstModule.COLOR_SILVER'单元格的背景颜色

定义数组,一次性写入,列子如下:

IfDetailRes.RecordCount>0Then

DetailRes.MoveFirst

Forrow2=0ToDetailRes.RecordCount-1

DimarrayProduct(50,17)AsString

arrayProduct(row2,0)=DetailRes.Fields("Product")

arrayProduct(row2,1)=DetailRes.Fields("rev")

arrayProduct(row2,2)=DetailRes.Fields("sagm")

arrayProduct(row2,3)=DetailRes.Fields("sagm_per")&"%"

arrayProduct(row2,4)=DetailRes.Fields("gp")

arrayProduct(row2,5)=DetailRes.Fields("gp_per")&"%"

arrayProduct(row2,6)=DetailRes.Fields("opex")

arrayProduct(row2,7)=DetailRes.Fields("opex_per")&"%"

arrayProduct(row2,8)=DetailRes.Fields("oper_profit")

arrayProduct(row2,9)=DetailRes.Fields("oper_profit_per")&"%"

arrayProduct(row2,10)=DetailRes.Fields("dio")

arrayProduct(row2,11)=DetailRes.Fields("dpo")

arrayProduct(row2,12)=DetailRes.Fields("dso")

arrayProduct(row2,13)=DetailRes.Fields("working_capital")

arrayProduct(row2,14)=DetailRes.Fields("interests")

arrayProduct(row2,15)=DetailRes.Fields("pre_tax_income")

arrayProduct(row2,16)=DetailRes.Fields("roic")&"%"

DetailRes.MoveNext

Nextrow2

xlSheet.Range(xlSheet.Cells(beginRow,3),xlSheet.Cells(endRow-1,19))=arrayProduct()'数组显示

--------------------------------------------------------------------------------------------

【3-重点】vb操作EXCEL实现数据组合

现在需要把单元格1-4行进行数据组合

在EXCEL中,只要选中单元格1-4行,在

点击菜单>>数据>>组及分级显示>>组合即可达到要求!

[注]:

若组合时,收缩时数据显示的是最后的那条,

在EXCEL文件中,点击数据>>组及分级显示>>设置>>

(1)把明细数据的下方复选框的选中状态改为不选中

(2)把明细数据的右侧复选框的选中状态改为不选中

这样设置数据即可达到显示要求

vb代码如下:

Rows("10:

15").Select

Selection.Rows.Group

若是需要变量传入,则:

Rows(beginRow&":

"&endRow-1).Select

Selection.Rows.Group

 

VB操作EXCEL,实现数据读取

1、定义Excel操作变量

DimobjExcelFileAsExcel.Application

DimobjWorkBookAsExcel.Workbook

DimobjImportSheetAsExcel.Worksheet

2、打开Excel进程,并打开目标Excel文件

SetobjExcelFile=NewExcel.Application

objExcelFile.DisplayAlerts=False

SetobjWorkBook=objExcelFile.Workbooks.Open(strFileName)

SetobjImportSheet=objWorkBook.Sheets

(1)

3、获取Excel有效区域的行和列数

intLastColNum=objImportSheet.UsedRange.Columns.Count

intLastRowNum=objImportSheet.UsedRange.Rows.Count

4、逐行读取Excel中数据

由于前两行为Header部分,所以需要从第三行读取

如果第1到第10个单元格的值均为空或空格,则视为空行

ForintCountI=3TointLastRowNum

''CheckifEmptyDataRow

blnNullRow=True

ForintI=1To10

IfTrim$(objImportSheet.Cells(intCountI,intI).Value)<>""Then

blnNullRow=False

EndIf

NextintI

若不是空行,则进行读取动作,否则继续向后遍历Excel中的行

IfblnNullRow=FalseThen

获取单元格中的数据,做有效性Check,并将合法数据创建为实体存入对象数组中

objImportSheet.Cells(intCountI,1).Value

……

EndIf

NextintCountI

5、退出Excel进程,并关闭Excel相关操作对象

objExcelFile.Quit

SetobjWorkBook=Nothing

SetobjImportSheet=Nothing

SetobjExcelFile=Nothing

基于VB和EXCEL的报表设计及打印

在现代管理信息系统的开发中,经常涉及到数据信息的分析、加工,最终还需把统计结果形成各种形式的报表提供给领导决策参考,或进行外部交流。

在VisualBasic中制作报表,通常是用数据环境设计器(DataEnvironmentDesigner)与数据报表设计器(DataReportDesigner),或者使用第三方产品来完成。

但对于大多数习惯于Excel报表的用户而言,用以上方法生成的报表在格式和功能等方面往往不能满足他们的要求。

  由于Excel具有自己的对象库,在VisualBasic工程中可以加以引用,通过对Excel使用OLE自动化,可以创建一些外观整洁的报表,然后打印输出。

这样实现了VisualBasi应用程序对Excel的控制。

本文将针对一个具体实例,阐述基于VB和EXCEL的报表设计及打印过程。

1)创建Excel对象

Excel对象模型包括了128个不同的对象,从矩形、文本框等简单的对象到透视表,图表等复杂的对象。

下面简单介绍一下其中最重要,也是用得最多的五个对象。

(1)Application对象

Application对象处于Excel对象层次结构的顶层,表示Excel自身的运行环境。

(2)Workbook对象

Workbook对象直接地处于Application对象的下层,表示一个Excel工作薄文件。

(3)Worksheet对象

Worksheet对象包含于Workbook对象,表示一个Excel工作表。

(4)Range对象

Range对象包含于Worksheet对象,表示Excel工作表中的一个或多个单元格。

(5)Cells对象

Cells对象包含于Worksheet对象,表示Excel工作表中的一个单元格。

如果要启动一个Excel,使用Workbook和Worksheet对象,下面的代码启动了Excel并创建了一个新的包含一个工作表的工作薄:

DimzsbexcelAsExc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1