在visual foxpro中,当我使用以下语句将该游标的内容导出到csv文件时,我有一个sql查询结果的游标:
COPY TO "c:\test.csv" type DELIMITED
所有数据都搞砸了,我没有指定任何分隔符所以基本上foxpro采用默认值,即该游标中的每一列。当我对xls文件运行相同的命令,然后将其转换为csv文件时,它会鞠躬......它的效果非常好:
COPY TO "c:\test.xls" type XL5
任何人都有这样的问题,任何人仍然使用foxpro并做这样的事情?
答案 0 :(得分:4)
您是否尝试过在COPY TO命令中使用TYPE CSV?
答案 1 :(得分:1)
我个人从不喜欢内置的DBF到CSV转换器。他们似乎总是做我不想让他们做的事情。所以我只写了自己的。这里有一些代码可以帮助您入门。
LOCAL lnFields
SELECT DBF
lnFieldCount = AFIELDS(laFields)
lnHandle = FOPEN("filename.csv", 1)
ASSERT lnHandle > 0 MESSAGE "Unable to create CSV file"
SCAN
lcRow = ""
FOR lnFields = 1 TO lnFieldCount
IF INLIST(laFields[lnFields,2], 'C', 'M')
lcRow = lcRow + IIF(EMPTY(lcRow), "", ",") + '"' + ;
STRTRAN(EVALUATE(laFields[lnFields,1]),'"', '""') + '"'
ELSE
lcRow = lcRow + IIF(EMPTY(lcRow), "", ",") + ;
TRANSFORM(EVALUATE(laFields[lnFields,1]))
ENDIF
ENDFOR
FWRITE(lnHandle, lcRow)
ENDSCAN
FCLOSE(lnHandle)