转换文件格式问题

TAZANJOUR 2003-01-06 11:51:18
现在需要实现如下功能:有一个Excel文件,需要转换成txt文件,要求将Excel文件中每个单元格的数据使用双引号包围,单元格间使用逗号分隔,行使用换行符分离,格式如下:
“adfh”,“234”,“23”,“45”
“897”,“34”,“678”,“45”
“345”,“56”,“67”,“78”
……
数据量比较大,该如何实现效率比较高呢?
...全文
14 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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

999

社区成员

PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
加入社区
帖子事件
创建了帖子
2003-01-06 11:51
社区公告
暂无公告