当前位置: 代码迷 >> PB >> pb中使用ole控件 将excel数据转化为图形,该怎么解决
  详细解决方案

pb中使用ole控件 将excel数据转化为图形,该怎么解决

热度:208   发布时间:2016-04-29 09:27:03.0
pb中使用ole控件 将excel数据转化为图形
使用ole控件 将数据窗口中的数据导入excel 再将excel中的数据转化为各种图表
程序如下

shoose case i_chart_type
case "bar"
  ole_3.object.charttype = 1 //2D bar(柱型)
  ole_3.object.ColumnCount = 1 
  ole_3.object.Plot.axis(1).Labels.Item(1).Format = "###.##0.00"
  .....
case "line"
  ole_4.object.charttype = 3 //2D bar(线形)
  .....
case "pie"
  ole_4.object.charttype = 14 //2D pie(圆形)


我这里运行的时候总是报错:error external object property charttype at line 14 in function 。。。
还有类似报错: error external object property maxcol at line 14 in function 。。。

现在看来好像只要涉及 ole.object.*** 属性时都会报错 请问如何解决啊(控件应该已经注册了,总感觉不是程序的问题)
还有这个ole加载的是哪个ocx:TTF16.ocx chinaexcel.ocx Comdlg32.ocx
在线等结果 
大侠们 帮帮忙

------解决方案--------------------
http://blog.csdn.net/jlwei888/archive/2009/01/07/3725362.aspx

用这种方式试试吧
MyOLE=Create OLEObject
ConnectErr=MyOLE.ConnectToNewObject ("excel.Application")
MyOLE.visible=false
//打开指定的XLS文件激活workbooks
MyOLE.application.workbooks.Open (FilePath)
//对XLS文件进行了改动以后,在关闭该文件时是否需要向用户提出警告。
MyOLE.Application.DisplayAlerts = False 


if isnull(MyOLE) then return -1 ;
if ConnectErr <0 then
 choose case ConnectErr
case -1
messagebox('错误提示','无效的调用')
case -2
messagebox('错误提示','类名没发现')
case -3
messagebox('错误提示','对象不能创建')
case -4
messagebox('错误提示','文件不能连接')
case -5
messagebox('错误提示','不能连接现在的对象')
case -6
messagebox('错误提示','文件无效')
case -7
messagebox("错误提示","文件不存在或已经打开")
case -8
messagebox("错误提示","服务器不能装载选择的文件")
case -9
messagebox("错误提示","其他错误")
 end choose
 return -1
end if

合并
string worksheet,beginRowcol,EndRowCol 


MyOLE.ActiveWorkBook.Sheets(worksheet).Range(BeginRowCol+":"+EndRowCol).Select
MyOLE.ActiveWorkBook.Sheets(worksheet).Range(BeginRowCol+":"+EndRowCol).Merge

sheet改名
MyOLE.ActiveWorkBook.Sheets(olename).select
MyOLE.ActiveWorkBook.Sheets(olename).name=newname



------解决方案--------------------
点击ole控件,看一下属性,就知道用的那个控件了

不行的话,可以加我QQ:32276311,帮你看看
  相关解决方案