PB导出到excel(含图片)

本文出自http://hi.baidu.com/wonderfulfeige/item/474bf415f5fda1a0ffded527

全局变量:OLEObject ole_object,ole_workbooks

//uf_getname 取保存excel的文件路径

integer li_rc

string ls_path,ls_file

li_rc = GetFileSaveName ("文件保存路径", ls_path, ls_file,".xls","EXCEL文件(.xls),.xls","c:",32770)

if li_rc=0 then

return "" //取消

elseif li_rc<>1 then

messagebox('系统提示','文件读写出错,保存失败')

return ""

end if

return ls_path

//建立OLEObject对象

ole_object=CREATE OLEObject

//IF ole_object.ConnectToObject(ls_path)<>0 THEN

if ole_object.ConnectToNewObject("Excel.Application")<>0 then

MessageBox('OLE错误','OLE无法连接!请确定已经安装EXCEL!')

return false

END IF

//添加工作表

ole_object.Workbooks.Add //创建包含一定数目的空白工作表的工作簿

ole_object.visible=true

ole_workbooks=ole_object.worksheets(1)

return true

//uf_save 保存excel文件,并释放ole对象

//保存

ole_workbooks.saveas(ls_path)

Ole_Object.save()

//释放

Ole_Object.DisConnectObject()

Destroy Ole_Object

destroy ole_workbooks

//uf_all 设置整个文档都是宋体9号字

ole_workbooks.Cells.Font.Name = "宋体"

ole_workbooks.Cells.Font.Size = 9

ole_workbooks.Cells.Font.Strikethrough = False

ole_workbooks.Cells.Font.Superscript = False

ole_workbooks.Cells.Font.Subscript = False

ole_workbooks.Cells.Font.OutlineFont = False

ole_workbooks.Cells.Font.Shadow = False

ole_workbooks.Cells.Font.Underline = -4142 //xlUnderlineStyleNone

ole_workbooks.Cells.Font.ColorIndex = -4105 //xlAutomatic

//ole_workbooks.Range(ar_range).Select

ole_workbooks.Range(ar_range).HorizontalAlignment = uf_align_num(ar_h)

ole_workbooks.Range(ar_range).VerticalAlignment = uf_align_num(ar_v)

ole_workbooks.Range(ar_range).WrapText = False

ole_workbooks.Range(ar_range).Orientation = 0

ole_workbooks.Range(ar_range).AddIndent = False

ole_workbooks.Range(ar_range).IndentLevel = 0

ole_workbooks.Range(ar_range).ShrinkToFit = False

ole_workbooks.Range(ar_range).ReadingOrder = -5002 //xlContext

//单元格是否合并

ole_workbooks.Range(ar_range).MergeCells = ar_MergeCells

其中uf_align_num函数用来返回枚举变量对应的数值

integer align

choose case ar_align

case "xlRight"

align = -4152

case "xlLeft"

align = -4131

case "xlCenter"

   align = -4108

case "xlGeneral"

   align = 1

case else

   align = 1

end choose

return align

//设置第二列的宽度

ole_workbooks.Columns("B:B").ColumnWidth = 44.38

//设置第二列自动换行

//ole_workbooks.Columns("B:B").Select

ole_workbooks.Columns("B:B").HorizontalAlignment = 1 //xlGeneral

ole_workbooks.Columns("B:B").VerticalAlignment = 2 //1,垂直居上 2,xlCenter 3,垂直居下

ole_workbooks.Columns("B:B").WrapText = True

ole_workbooks.Columns("B:B").Orientation = 0

ole_workbooks.Columns("B:B").AddIndent = False

ole_workbooks.Columns("B:B").IndentLevel = 0

ole_workbooks.Columns("B:B").ShrinkToFit = False

ole_workbooks.Columns("B:B").ReadingOrder = -5002 //xlContext

ole_workbooks.Columns("B:B").MergeCells = False

//设置B8的格式是日期

ole_workbooks.Range("B8").NumberFormatLocal = "yyyy-m-d"

uf_align("B8","xlLeft","xlCenter",false)

//把值ar_word插入第ar_row第ar_col的单元格里

ole_workbooks.cells(ar_row,ar_col).value="/ar_word

//插入图片

ole_workbooks.Pictures.Insert(ls_path)

//指定高度缩放,按比例缩放,就是“设置图片格式”->“大小”

ole_workbooks.Shapes(1).LockAspectRatio" = -1

ole_workbooks.Shapes(1).Height = 108

ole_workbooks.Shapes(1).Rotation = 0

ole_workbooks.Range(ar_range).Font.Name = ar_font

ole_workbooks.Range(ar_range).Font.FontStyle = ar_style

ole_workbooks.Range(ar_range).Font.Size = ar_size

ole_workbooks.Range(ar_range).Font.Strikethrough = False

ole_workbooks.Range(ar_range).Font.Superscript = False

ole_workbooks.Range(ar_range).Font.Subscript = False

ole_workbooks.Range(ar_range).Font.OutlineFont = False

ole_workbooks.Range(ar_range).Font.Shadow = False

ole_workbooks.Range(ar_range).Font.Underline = -4142//xlUnderlineStyleNone

ole_workbooks.Range(ar_range).Font.ColorIndex = -4105//xlAutomatic

posted on 2025-09-28 22:20  manber  阅读(8)  评论(0)    收藏  举报

导航