读取excel中的单元格,总是不能取道完整的数据,怎么回事?

xiaojiyi 2006-05-31 10:33:36
代码如下:

OLEObject ExcelServer

integer ExcelOK,li_value,rownumber,colnumber
string ls_aaa,ls_path,ls_name


li_value = GetFileopenName("Select File",ls_path, ls_name, "Xls", "Excel Files (*.xls),*.xls")
If li_value = 0 then
return
end if

IF li_value = -1 THEN
messagebox("Error","选择文件出错!")
return
end if


SetPointer(HourGlass!)

ExcelServer = CREATE OLEObject
ExcelOK = ExcelServer.ConnectToNewObject( "excel.application" )

if excelok<>0 then
messagebox("","连接到excel时出错!")
return
end if

ExcelServer.Workbooks.Open(ls_path,0,0)
ls_aaa=""
rownumber=excelserver.Activesheet.UsedRange.rows.count
colnumber=excelserver.Activesheet.UsedRange.columns.count
clipboard(ExcelServer.application.activeworkbook.worksheets(1).cells(1,1).value)
sle_1.paste()
//ls_aaa=getclipboarddata()
//messagebox("",ls_aaa)

excelserver.Application.quit
excelserver.DisConnectObject()
Destroy excelserver

假如单元格的内容为“用户姓名”,取道的结果经常只有“用户”两个字.
如果单元格的内容更长一点,也可以取道更多的字,但始终不能取完整。谁能告诉我这是什么原因?十分感谢。
...全文
310 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaojiyi 2006-05-31
  • 打赏
  • 举报
回复
daixf_csdn(圣殿骑士) 你用的PB是哪个版本的?我用的是6.5的
xiaojiyi 2006-05-31
  • 打赏
  • 举报
回复
我的是win2003,excel2000
xiaojiyi 2006-05-31
  • 打赏
  • 举报
回复
小潜那种写法我也试过。但是结果都是一样的,取不全。
圣殿骑士18 2006-05-31
  • 打赏
  • 举报
回复
我的操作系统为w2k,excel2003
圣殿骑士18 2006-05-31
  • 打赏
  • 举报
回复
我测试了lz的代码,excel中的字符是:
我的祖国是花园,花园的花朵好鲜艳。啦啦啦。

结果能够全部取出。
ricky_feng 2006-05-31
  • 打赏
  • 举报
回复
hxy75(小潜)讲得有理
小潜s 2006-05-31
  • 打赏
  • 举报
回复
为什么要用clipboard和paste函数,直接将值写入sle不可以么
sle_1.text=ExcelServer.application.activeworkbook.worksheets(1).cells(1,1).value

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧