1

*nix ボックスにアプリケーションがあり、シン クライアント ユーザーに渡される csv を生成する場合、Windows を使用していて適切な csv が必要な場合、どのような予防措置を講じる必要がありますか?

私が言いたいのは、この流れです:

UNIX:
1) を使用して csv を生成するSystem.getProperty("line.separator")
2) シン クライアントに渡す

Windows/Unix:
1) ブラウザからファイルをダウンロード
2a) Excel で開く (Windows)
2b) スプレッドシート アプリケーションで開く

私は use という答えを探しているわけではありませんLibrary X.1つのプロジェクトだけに使用されるライブラリに技術的なリスクを追加することは好きではありません.

4

1 に答える 1

1

[rfc4180 セクション 2][1] によると

CSV ファイルのさまざまな解釈を可能にする正式な仕様は存在しません。このセクションでは、ほとんどの実装が従うと思われる形式について説明します。

  1. 各レコードは、改行 (CRLF) で区切られた個別の行に配置されます。例えば:

    aaa,bbb,ccc CRLF zzz,yyy,xxx CRLF

  2. ファイルの最後のレコードには、終了改行がある場合とない場合があります。例えば:

    aaa、bbb、ccc CRLF zzz、yyy、xxx

  3. 通常のレコード行と同じ形式で、ファイルの最初の行としてオプションのヘッダー行が表示される場合があります。このヘッダーには、ファイル内のフィールドに対応する名前が含まれ、ファイルの残りのレコードと同じ数のフィールドが含まれている必要があります (ヘッダー行の有無は、このオプションの「ヘッダー」パラメーターを介して示される必要があります)。 MIME タイプ)。例えば:

    field_name,field_name,field_name CRLF aaa,bbb,ccc CRLF zzz,yyy,xxx CRLF

したがって、これSystem.getProperty("line.separator")は誤りであり、\r\n代わりに使用する必要があります。[1]: https://www.rfc-editor.org/rfc/rfc4180#section-2

于 2013-03-05T15:11:50.827 に答える