CSV ファイルをインポートしてから、Datatable にアップロードする必要があります。次に、列が要件を満たしていることを確認し、エンド ユーザーが正しい形式でインポートすることを確認する必要があります。CSV ファイルには、item、price、measure の 3 つの列が必要です。
列名を文字列と比較しようとするとエラーが発生します。ここではコード スニペットです。
private bool verifyColumn(DataTable dt)
{
/* Column
* 1) items
* 2) price
* 3) measure
*/
foreach (DataColumn col in dt.Columns)
{
if (col.ColumnName.ToString() == "price")
{
continue;
}
else if (col.ColumnName.ToString() == "item")
{
continue;
}
else if (col.ColumnName.ToString() == "measure")
{
continue;
}
else
{
return false;
}
}
return true;
}
デバッグ モードの場合、最初のループの for は show 'item' ですが、if ステートメントでキャッチできません。どうすればこの問題を解決できますか?
A Portable and Efficient Generic Parser for Flat Filesを使用して CSV ファイルをデータテーブルにインポートするコード。
GenericParserAdapter paste = new GenericParserAdapter(fileName);
paste.FirstRowHasHeader = true;
paste.ColumnDelimiter = ';';
DataTable dt dt = paste.GetDataTable();
if (dt.Columns.Count != 3)
{
MessageBox.Show(errorMessage, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
dt.Clear();
return;
}
// Here to do verify columт