hur.cn - 华软网

 热门搜索

PB对EXCEL的操作(供需要的人参考)

  作者:未知    来源:网络    更新时间:2019/4/16
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()

就这样的,我的虽然苯 ,可是简单的很
------华软网友回复------
很有用  多谢楼主分享 

不通常为需要的时候再查帮助, 由于不是经常运用的  呵呵

收藏起来也可
------华软网友回复------
留个脚印
用得着再来
------华软网友回复------
收藏一下
------华软网友回复------
楼猪辛劳
------华软网友回复------
谢谢LZ
------华软网友回复------
收藏
------华软网友回复------
顶一个~
------华软网友回复------

收藏
------华软网友回复------
借地提问
我用楼上的方法打开excel资料后却不看来,
如何设置资料看来?
ole_app.worksheets(1).active

ole_app.workbooks(1).active
都试过,不行,请列位指点指点,多谢!


------华软网友回复------
强,收藏一下!
------华软网友回复------
我出2000,我收藏了

------华软网友回复------
讨教楼主,我用EXCEL导出的时候能对单元格格式-数字页面举行设置吗?
------华软网友回复------
谢谢,收了
------华软网友回复------
讨教楼主,我用EXCEL导出的时候能对单元格格式-数字页面举行设置吗?
------华软网友回复------
没试过~不敢说,呵呵,我对Excel都是简单的操作,我现在有个头疼的问题,怎么导出Excel以后中文的都是乱码~郁闷
------华软网友回复------
Ole_object.Application.Visible=TRUE//Excel资料看来

------华软网友回复------
太谢谢了!楼主太强了!
------华软网友回复------
留个脚印
------华软网友回复------
请问如何读取EXCLE中的一列数据到我在PB中自己新建的自带数据库中?
EXCLE资料中就只有一列数据。
------华软网友回复------
声明1个any类型
any la_a
la_a = Excel.sheets(1).range("A1:A50").value //la_a自动为一个数组
要确定是哪一行终止
Excel.sheets(1).usedrange.rows.count

------华软网友回复------

 好东西啊
 另有一种方法是调用现有的模板
------华软网友回复------
如果资料已经存留,而不提醒是否笼罩对话框,用什么方法?
由于如果资料已经存留,在是否笼罩对话框选“否”时,程序会犯错,且欠好措置惩罚。

现在用的和上面zhangyijhyt() 方法一样
if FileExists(ls_filename) then FileDelete(ls_filename) 
但感觉不是很好。
------华软网友回复------
是的,我一起头也尝试过,会报错,没措施,为了赶工就暂时用这个了
------华软网友回复------
mark
------华软网友回复------
支持
------华软网友回复------
太好   顶
------华软网友回复------
先支持一下,呵呵。
------华软网友回复------
mark
------华软网友回复------
支持一下。。
------华软网友回复------
mark

------华软网友回复------
借人气 问下
设置  数据格式(如小数后面的位数) 应用什么属性

------华软网友回复------
呵呵 录制一下宏就知道了
------华软网友回复------
途经的请到这个帖子帮看看问题所在,也是和EXCEL有关的

http://community.csdn.net/Expert/topic/5156/5156314.xml?temp=.7638513
------华软网友回复------
不错不错!够帅气!
------华软网友回复------
收藏,谢谢!
------华软网友回复------
不错...收了...
------华软网友回复------
留脚印
------华软网友回复------
脚印一个,LZ辛劳!

------华软网友回复------
留个记号!!!!!!!!!
------华软网友回复------
只需用PB的人 我想可能都要用到 呵呵 不错
------华软网友回复------
收藏
------华软网友回复------
  class="deleted_message"> 该回复被版主删除
------华软网友回复------
tmd楼上干什么鸟的
------华软网友回复------
踩个脚印
------华软网友回复------
刚用了下,不错,谢谢啦。顺便顶一下
------华软网友回复------
留个脚印
------华软网友回复------
参照一下.
------华软网友回复------
這裏還有人在裏面作廣告的,暈死

不過來謝謝樓主
------华软网友回复------
多谢楼主!狂顶!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。