excel文件无法导入数据窗口???

cdqy 2002-12-19 03:46:46
string pathname,filename

GetFileOpenName ( '选择需导入的文件', pathname, filename , "DOC","Text Files (*.TXT),*.TXT," &
+ "Doc Files (*.*),*.*")

if dw_1.ImportFile(filename) < 0 then
messagebox('系统提示','导入文件失败!')
return
end if
messagebox('系统提示','成功导入文件!')

********************************************************************
导入文本文件没问题 ,可导入excel文件就无法成功。
...全文
83 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdqy 2002-12-24
  • 打赏
  • 举报
回复
up
cdqy 2002-12-23
  • 打赏
  • 举报
回复
up
banalman 2002-12-21
  • 打赏
  • 举报
回复
up
cdqy 2002-12-20
  • 打赏
  • 举报
回复
从别的文档中拷得代码,但在运行时却死了!!!


string pathname,filename

GetFileOpenName ( '选择需导入的文件', pathname, filename , "DOC","Text Files (*.TXT),*.TXT," &
+ "Doc Files (*.*),*.*")

constant integer ppLayoutBlank = 12
OLEObject ole_object
ole_object = CREATE OLEObject

integer li_ret
li_ret = ole_object.ConnectToObject("","excel.Application")
iF li_ret <> 0 THEN
li_ret = ole_object.ConnectToNewObject("excel.Application")
iF li_ret <> 0 THEN
messagebox("OLE错误","OLE无法连接!~r~n错误号:" + string(li_ret))
Return 0
END iF
ole_object.visible = False
END iF


pointer oldpointer
oldpointer = SetPointer(HourGlass!)

ole_object.Workbooks.open(pathname)
ole_object.WorkSheets[1].Activate

long ll_column, ll_rowumn
ll_column = long(dw_1.object.datawindow.column.count)
ll_rowumn = dw_1.rowcount() + 1

string ls_colname[],ls_value
integer i,ii,j

long handle

/*******************************************************/
handle = OpenChannel("Excel", pathname)//死在这一句中???为什么??
/*******************************************************/

//转换标题头为中文,标题头命名应该为列名+"_t"形式
for j = 1 to ll_column
ls_colname[j] = dw_1.describe("#"+string(j)+".name")
ls_value = dw_1.describe(ls_colname[j]+"_t"+".text")
//ole_object.activesheet.cells[1,j].value = ls_value 开始的方法
SetRemote("R1C"+STRiNG(J), ls_value, handle)
next

//将下拉数据窗口数据值转化为显示值,数据量大时比现用方法速度慢
if ll_column > 0 Then
For j = 1 To ll_column
if dw_1.Describe("#" + String(j) + ".edit.style") = 'dddw' Then
for ii=1 to ll_rowumn - 1
SetRemote("R"+STRiNG(i+1)+"C"+STRiNG(J),dw_1.Describe("Evaluate('LookUpDisplay(#"+string(j)+")',"+string(i)+")"), handle)
next
end if
next
end if
CloseChannel(handle)
SetPointer(oldpointer)
//

ole_object.ActiveWorkBook.Save()
ole_object.application.quit()
ole_object.Disconnectobject()
Destroy ole_object
messagebox("提示:","导出成功!")

Return 1
ILYF 2002-12-19
  • 打赏
  • 举报
回复
就是不支持,用 OLEObject ,以前的贴子这方面的多得很
cdqy 2002-12-19
  • 打赏
  • 举报
回复
我用的是PB6.5

我看了ImportFile的帮助。它只支持.txt 和 .dbf两种格式的文件导入。

我把excel文件另存为.txt和.dbf格式的文件再导入都没有问题!!!

不知是否可以直接把excel文件导入???
adaoli 2002-12-19
  • 打赏
  • 举报
回复
你看看ImportFile返回值对照帮助不就知道了吗。ImportFile的返回值帮助写得很详细的。
cdqy 2002-12-19
  • 打赏
  • 举报
回复
还是报错!!!
adaoli 2002-12-19
  • 打赏
  • 举报
回复
dw_1.ImportFile(pathname)
cdqy 2002-12-19
  • 打赏
  • 举报
回复
up

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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