您的位置:首页 > 编程语言 > VB

(vb.net)操作Excel文件1

2010-06-17 16:17 405 查看
VS2005平台,应用程序生成指定格式的Excel文件

1.“添加引用”->"COM"->"Microsoft Excel 11.0 Object Library"

2.导入命名空间

Imports Microsoft.Office.Interop 或者 Imports Microsoft.Office.Interop.Excel

3.具体操作

Dim oXL As Excel.Application '定义excel应用程序
Dim oWB As Excel.Workbook '定义工作簿
Dim oSheet As Excel.Worksheet '定义工作表

oXL = CreateObject("Excel.Application")'创建Excel应用程序对象
oXL.Visible = True '显示excel 程序

oWB = oXL.Workbooks.Add '添加新工作簿

oSheet = oWB.Sheets(1)'获得第1个工作表的控制句柄

osheet.Columns .ColumnWidth =30.0'设置工作表的列宽

oSheet.Columns("A:A").ColumnWidth = 35.0 '设置第一列列宽

oSheet.Columns("B:B").ColumnWidth = 20.0

oSheet.Rows.RowHeight = 25.0'设置工作表的行高

oSheet.Rows("1:1").RowHeight = 15‘设置第一行行高

oSheet.Range("A1", "D1").Merge()‘合并单元格
oSheet.Range("A1", "D1").HorizontalAlignment = 3 '水平居中
oSheet.Range("A1", "D1").Value = "XXX问卷表" '填入单个数据

oSheet.Range("A1", "D1").WrapText = True'设置自动换行吧

Dim info(5, 2) As String'定义块数据,并赋值

oSheet.Range("A1", "A5").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter’水平方向居中对齐
oSheet.Range("B1", "B5").HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft '水平方向左对齐

oSheet.Range("B1", "B5").VerticalAlignment = Excel.XlVAlign.xlVAlignTop'垂直方向靠上对齐
oSheet.Range("A1", "B5").Value = info'填入块数据,这样可以节省应用程序和Excel文件的数据交换次数

或者:oSheet.Range("A1:B5").Value = info

oSheet.Range("A1", "E22").Borders.LineStyle = 1 '设置边框

oSheet.Range("A1", "E22").Borders.LineStyle = Excel.XlLineStyle.xlContinuous

'记着释放对象
oSheet = Nothing
oWB = Nothing
oXL.Quit()
oXL = Nothing

4.

Excel文件的格式比较多,要快速在应用程序中生成自己想要的格式,可以这样做:

打开Excel应用程序,选择“工具”->“宏”->“录制新宏”

设置好指定的格式

停止录制宏

单击“工具”->“宏”->“宏”,选择刚才录制的宏即可,在打开的文件中可以查看生成指定格式的具体代码操作步骤

遇到不懂的枚举值或者属性值,可以到VS2005的对象浏览器,或MSDN中查阅

(这一招也是在网上学到,挺管用的,呵呵)

5.一个小的设置效果
oSheet.Range("A7").Value = "申请理由:"
oSheet.Range("A7").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
oSheet.Rows("8:8").RowHeight = 37.5'设置行高
oSheet.Range("B7", "D8").Merge()
oSheet.Range("B7", "D8").HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft
oSheet.Range("B7", "D8").VerticalAlignment = Excel.XlVAlign.xlVAlignTop
oSheet.Range("B7", "D8").Value = ""
oSheet.Range("B9", "C9").Merge()
oSheet.Range("B9", "C9").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
oSheet.Range("B9", "C9").Value = "主管签字:"
oSheet.Range("D9").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter
oSheet.Range("D9").Value = "   年   月   日"

oSheet.Range("A7", "D9").Borders.LineStyle = Excel.XlLineStyle.xlContinuous '设置总的边框样式
oSheet.Range("A7", "D9").Borders(Excel.XlBordersIndex.xlDiagonalDown).LineStyle =    Excel.Constants.xlNone '再做修改
oSheet.Range("A7", "D9").Borders(Excel.XlBordersIndex.xlDiagonalUp).LineStyle = Excel.Constants.xlNone
oSheet.Range("A7", "D9").Borders(Excel.XlBordersIndex.xlInsideVertical).LineStyle = Excel.Constants.xlNone
oSheet.Range("A7", "D9").Borders(Excel.XlBordersIndex.xlInsideHorizontal).LineStyle = Excel.Constants.xlNone
'这种设置应该比较适合打印吧


(主要查阅了MSDN上的资料,呵呵)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: