导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

转换文件格式问题

TAZANJOUR 2003-01-06 11:51:18
现在需要实现如下功能:有一个Excel文件,需要转换成txt文件,要求将Excel文件中每个单元格的数据使用双引号包围,单元格间使用逗号分隔,行使用换行符分离,格式如下:
“adfh”,“234”,“23”,“45”
“897”,“34”,“678”,“45”
“345”,“56”,“67”,“78”
……
数据量比较大,该如何实现效率比较高呢?
...全文
5 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
YewPu 2003-01-06
不知道。
回复
qqf 2003-01-06
楼上的哥们厉害。
从EXCEL导入数据窗口:
String pathname,filename
Int openname_return

openname_return=GetFileOpenName("打开文件",pathname, filename, "TXT", "文本文件 (*.TXT),*.TXT," + "Excel文件 (*.XLS),*.XLS")

IF openname_return=1 THEN
IF Upper(Right(filename,3))="TXT" THEN
datawindow_name.ImportFile(pathname)
ELSE

OLEObject ExcelServer
Long excelok
String str_savename
ExcelServer = CREATE OLEObject
ExcelOK = ExcelServer.ConnectToNewObject( "excel.application" )
IF excelok < 0 THEN
messagebox("连接excel失败,检查你的系统是否安装了office",string(excelok))
ELSE
ExcelServer.Workbooks.Open(pathname)
//在工作环境下打开文件
str_savename="c:\temp.txt"
ExcelServer.activeworkbook.saveas(str_savename,3)
//保存为TXT文件
ExcelServer.displayalerts=False
ExcelServer.quit()
ExcelServer.DisconnectObject()
//断开连接

DESTROY ExcelServer
//释放OLE对象
datawindow_name.ImportFile(str_savename)
//导入文件
filedelete(str_savename)
//删除文件
END IF

END IF
END IF

Return 1
回复
ice2water 2003-01-06
使用数据窗口的计算域:'"'+id_1+'","'+id_2+...
回复
Eric2000 2003-01-06
用函数实现很快的。速度基本上还可以。
回复
xuebuctxy 2003-01-06
很简单啊
可以选定单元格,复制后打开word粘贴,会粘贴成表格形式,选定表格,菜单中的表格->转换->表格转换为文字会让你指定分隔符,将该分隔符用替换功能替换成","就行了,我手动实现了,如果用程序控制应该也没有问题
回复
TAZANJOUR 2003-01-06
没有人有办法吗?
回复
TAZANJOUR 2003-01-06
写函数是可以,不过数据量太大,一格一格的转换需要花费太长时间,有没有高效率的办法?
回复
xlhl 2003-01-06
自己写函数吧,取每个字段,然后加上逗号,引号,没现成的
回复
TAZANJOUR 2003-01-06
哥们儿,有点儿敬业精神好不好?帮帮忙……
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

804

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告