PB对EXCEL的操作

Ole_object.Workbooks.add//新建一个Excel文件
Ole_object.Workbooks.Open( "FileName ")//打开一个已存在Excel文件
Ole_object.ActiveWorkBook.Sheets( "SheetName ").Select//选择文件中一个工作表
Ole_object.Application.Run( "MacroName ")//运行宏
Ole_object.Application.Visible=TRUE//Excel文件可见
Ole_object.Application.ScreenUpdating=true//设置可见属性
②格式设置
Ole_object.ActiveSheet.Columns( "A:U ").AutoFit//列宽自动调整
Ole_object.ActiveSheet.Columns( "A:Z ").ColumnWidth=6.75//列宽
Ole_object.ActiveSheet.Rows( "1:100 ").RowHeight=12//行高
Ole_object.Application.StandardFont= "ArialNarrow ";//设置字体
Ole_object.Application.StandardFontSize= "8 "//设置字号
Ole_object.ActiveSheet.Font.Size= "8 "//设置字号
Ole_object.ActiveSheet.Font.Bold=True//粗体
Ole_object.ActiveSheet.Font.Italic=True//斜体
Ole_object.ActiveSheet.Font.Underline=True//下划线
Ole_object.ActiveSheet.Font.StrikeThrough=True//删除线
Ole_object.ActiveSheet.HorizontalAlignment=3//水平:4靠右;3居中;2靠左
Ole_object.ActiveSheet.VerticalAlignment=2//垂直:3靠下;2居中;1靠上
Ole_object.ActiveSheet.cells(2,1).font.name=’黑体’//设置字体
Ole_object.ActiveSheet.cells(2,1).font.size=25//设置字体大小
③工作区域操作:
Ole_object.ActiveSheet.Range( "A1:Z10 ").Property=value//设置一个工作区域内的属性值
Ole_object.ActiveSheet.Range( "A1:Z10 ").Merge//合并单元格
Ole_object.ActiveSheet.Range( "A1:Z10 ").WrapText=False//自动换行禁止
Ole_object.ActiveSheet.Range( "A1:Z10 ").Borders(b_type).Weight=i_val//b_type:1左边界;2右边界;3上边界;4下边界;5左上倾斜;6

右上倾斜(以上为对单元格的操作)7左边界;8上边界;9下边界;10右边界;11内部垂直边界;12内部水平边界(以上为对区域的操

作)//i_val:0无边界线;然后1,2,3。。。依次边界线加粗
Ole_object.ActiveSheet.Range( "A1:Z10 ").Borders(b_type).linestyle=1//1与7—细实、2—细虚、4—点虚、9—双细实线
④赋值操作
Ole_object.ActiveSheet.range( "A1:Z10 ").Cells.value=“姓名”
Ole_object.ActiveSheet.range( "A1:Z10 ").Cells.value=1
Ole_object.ActiveSheet.range( "A1:Z10 ").Cells.value=“2003-01-01”
Ole_object.ActiveSheet.Range( "A1:Z10 ").Cells(1,2).value=“年龄”//区域内一个单元格的赋值
Ole_object.ActiveSheet.Range( "A1:Z1 ").Cells(1,1).value=“SUM(RC[-9]:RC[-1])”

ls_filename   =   "C:/alt_report/wf_alt_report.xls "
if   FileExists(ls_filename)   then   FileDelete(ls_filename)  
OleObject   Loo_Excel
Loo_Excel=create   oleobject
if   Loo_Excel.ConnectToNewObject( "Excel.Application ")   <>   0   then
        messagebox( '提示 ', '系統未安裝Excel,無法運行此操作! ')
return
end   if  
Loo_Excel.Application.Workbooks.Add()
Loo_Excel.Application.Workbooks(1).worksheets(1)
Loo_Excel.Application.Visible   =   True
Loo_Excel.Application.ScreenUpdating   =   false  

// '正在處理表頭...... '
Loo_Excel.Range( "A1:AB1 ").Select
Loo_Excel.Selection.MergeCells     =   True
Loo_Excel.Selection.HorizontalAlignment   =   3
Loo_Excel.Selection.VerticalAlignment   =   3
Loo_Excel.Selection.Font.Bold   =   True
Loo_Excel.Selection.Font.Size   =   14
Loo_Excel.Selection.RowHeight   =   28.50
Loo_Excel.ActiveCell.FormulaR1C1   =   dw_3.describe( "ls_title "+ ".text ")
///写标头
Loo_Excel.application.workbooks(1).worksheets(1).cells(3,   1   ).value   =   "排單號碼 "  
//   dw_2.describe( "po_no "+ ".name "+ "_t.text ")  
Loo_Excel.application.workbooks(1).worksheets(1).cells(3,   2   ).value   =   "客人款號 "
Loo_Excel.application.workbooks(1).worksheets(1).cells(3,   3   ).value   =     dw_2.describe( "cust_nam_t.text ")    
///内容
for   i=1   to   dw_2.rowcount()
        Loo_Excel.application.workbooks(1).worksheets(1).cells(3+i,   1).value   =     string(   dw_2.object.po_no[i]   )
next

Loo_Excel.application.ActiveWorkbook.SaveAs(ls_filename)
Loo_Excel.Application.ScreenUpdating   =   True
Loo_Excel.DisconnectObject()

-----------------------------------------------------------------
也可以从Excel提取信息,假设你想知道当前活动Sheet的A1单元(Cell)的值,
你可以使用如下代码:

ANY   MyValue

MyValue   =   ExcelServer.ActiveSheet.Cells(1,1).value

CHOOSE   CASE   ClassName(MyValue)

CASE   'string '
//assign   to   string

//other   data   types   here
......
END   CASE

注意ANY变量的用法。返回的Excel对象的method/property可能是各种各样的数据
类型,所以除非你绝对确定返回类型(例如一个Cell对象的ColumnWidth属性一般都
返回的是integer变量),你一般都要使用ANY变量,然后再用ClassName函数来确定
对应的值。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jzbest/archive/2009/08/15/4450092.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值