C#のプログラムで、CSVファイル作成プログラムを作成しました。
しかし、作成したCSVファイルを開くと、エラーダイアログが表示されました。
※SYLKファイルは"Symbolic Link File"の略でそうです。
調べてみると、ヘッダー行出力時に、IDという文字を出力すると、発生するようです。
Excelの仕様による問題で、
「CSVファイルの先頭データが「ID」または「ID_xxxx」で始まる場合、SYLKファイルとして解釈して、CSVファイルをSYLKファイルとして読み込むため、エラーが発生」
だそうです。
そこで、ID文字をidにしたらうまくいきました。
foreach (System.Data.DataRow schemaDr in schemaDt.Rows)
{
string columnName = schemaDr["ColumnName"].ToString().Trim();
columnName = schemaDr["ColumnName"].ToString();
if (columnName == "ID")
{
columnName = "id";
}
strHeader = strHeader + columnName + ",";
}
strHeader = strHeader.Remove(strHeader.Length - 1);
sw.WriteLine(strHeader);
その他に、以下の手段もできるそうです。
・テキストの最初の行の先頭にアポストロフィを挿入する。
・データの先頭行に空白行を挿入する
【参考URL】
http://www.marvel.co.jp/htm/Technic/Technic/database/7.html
http://www.yamamototakashi.com/soft/d2/manual/HLP000206.html
0 件のコメント:
コメントを投稿