1

Visual foxpro では、ステートメントを使用してそのカーソルの内容を csv ファイルにエクスポートすると、SQL クエリの結果であるカーソルがあります。

 COPY TO "c:\test.csv" type DELIMITED

すべてのデータがめちゃくちゃです。区切り文字を指定しないので、基本的に foxpro はデフォルトを使用します。これは、そのカーソルのすべての列です。同じコマンドをxlsファイルに実行してから、それをcsvファイルに変換すると、お辞儀をします...非常にうまく機能します:

     COPY TO "c:\test.xls" type XL5

誰かがそのような問題を抱えていましたが、まだ foxpro を使用していて、そのようなことをしている人はいますか?

4

2 に答える 2

4

COPYTOコマンドでTYPECSVを使用してみましたか?

于 2012-06-28T20:43:49.347 に答える
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)
于 2012-08-17T06:31:37.577 に答える