2009-03-30 7 views
1

私のアプリケーションの1つにCSV出力があります。これにより、Webフォームデータからファイルが生成されます。CSVキャリッジ戻り文字

私のメモフィールドに改行文字が表示されることがあります。これにより、ファイルをインポートするときにエラーが発生します。私はこの文字を削除したいと思います。

ユーザーは、ワードドキュメントからフォームに情報を貼り付けるときや、シフトキーを押しながらEnterキーを押したときに問題が発生しているように見えます。

フィールドはntextで、複数行のテキストボックスコントロールに入力されます。

私はreplace関数を使ってこれを削除しようとしていますが、復帰文字の中にはいくつかのものがあります。

SQL

REPLACE(Fieldname), CHAR(13) + CHAR(10), ' ') AS new_Fieldname 

答えて

8

それは、彼らが常に一緒にか、そのためには発生しないよう、個別の文字を置き換えるために最善のことがありますWordで

REPLACE(REPLACE(Fieldname, CHAR(13),' '), CHAR(10), ' ') AS new_Fieldname 
+0

コードに構文エラーがあります。 – Tomalak

+0

本当にcr/lfを消したい場合は、2つのスペースで終わることがあります。だから私は置換(フィールド名、char(13)、 '')を使用したい – Martlark

+0

おっと、構文が固定されて、私は願っています。 – Fionnuala

0

、新しいの異なる種類があります行の文字。他のものを検索/置換する必要があるかもしれません。

どのような可能性があるか分かりません。少なくとも段落記号は私が知っているものです。

3

キャリッジリターン+改行、またはキャリッジリターンのみがある場合があります(ソースプラットフォーム、データのソースなどによって異なります)。したがって、おそらく両方のケースを処理する必要があります。

2

キャリッジリターンを含むCSVを読むことができます。キャリッジリターンは、文字列で表現されたフィールド(引用符で囲まれたフィールド)にする必要があります。これにより、行を読んでフィールドに含めることができます。一度に1行ずつCSVを読み込んでいる場合は、行間の状態を維持し、必要に応じてデータを追加する必要があります。

.Netでは、CSVを読み込む最も簡単な方法は、Microsoft.VisualBasic.FileIO.textFileParserオブジェクトを使用することです(ただし、参照を追加する場合はC#でこれを使用できます)。これは、私が簡単にそれでスローされた最も奇妙なCSVsも読み込みます。

関連する問題