作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,美好的一天,我对 powerbuilder 很陌生,我正在使用 PB 11.5
有人知道如何将逗号分隔的文本文件导入数据窗口吗?
Example Text file
"1234","20141011","Juan, Delacruz","Usa","001992345456"...
"12345","20141011","Arc, Ino","Newyork","005765753256"...
ls_File = dw_2.Object.file_name[1]
li_FileHandle = FileOpen(ls_File)
li_FileRead = FileRead(li_FileHandle, ls_Text)
DO WHILE li_FileRead > 0
li_Count ++
li_FileRead = FileRead(li_FileHandle, ls_Text)
ll_row = dw_1.ImportString(ls_Text,1)
Loop.
最佳答案
似乎 PB 默认需要一个制表符分隔的 csv 文件(而 'csv' 中的 'c' 代表 'coma'...)。
添加 csv!
ImportString()
的参数中的枚举值它应该解决这个问题(它在我的测试盒中)。
另外,数据对象中定义的列必须与 csv 文件中的列匹配 (至少对于您感兴趣的第一列)。如果 csv 文件中有模式列,它们将被忽略。但是如果你想得到第 1(或第 2)和第 3 列,则需要定义前 3 列。如果不需要,您可以随时隐藏 #1 或 #2。
顺便说一句,您的代码有一些问题:
FileOpen()
用于在文件不存在/不可读的情况下停止处理 while
之前和循环的另一个内部。或者它可能打算忽略带有列标题的第一行? string ls_file = "c:\dev\powerbuilder\experiment\data.csv"
string ls_text
int li_FileHandle, li_fileread, li_count
long ll_row
li_FileHandle = FileOpen(ls_File)
if li_FileHandle < 1 then
return
end if
li_FileRead = FileRead(li_FileHandle, ls_Text)
DO WHILE li_FileRead > 0
li_Count ++
ll_row = dw_1.ImportString(csv!,ls_Text,1)
li_FileRead = FileRead(li_FileHandle, ls_Text)//read next line
Loop
fileclose(li_fileHandle)
关于csv - 如何将逗号分隔的文本文件导入数据窗口 (powerbuilder 11.5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30701015/
我是一名优秀的程序员,十分优秀!