.csv ファイルでレポートを生成しています。
以下のコードを使用して、ボタンクリックイベントのコードから .csv ファイルを開いています。
StreamWriter sw = new StreamWriter(AbsolutePathAndFileName);
//write header line
int iColCount = TheDataTable.Columns.Count;
for (int i = 0; i < iColCount; i++)
{
sw.Write(TheDataTable.Columns[i]);
if (i < iColCount - 1)
{
sw.Write(separator);
}
}
sw.Write(sw.NewLine);
//write rows
foreach (DataRow dr in TheDataTable.Rows)
{
for (int i = 0; i < iColCount; i++)
{
if (!Convert.IsDBNull(dr[i]))
{
string data = dr[i].ToString();
data = data.Replace("\"", "\\\"").Replace(",", " ");
sw.Write(quote + data + quote);
}
if (i < iColCount - 1)
{
sw.Write(separator);
}
}
sw.Write(sw.NewLine);
}
sw.Close();
MsgBox db = new MsgBox("Please select below option.", "Message", MessageBoxIcon.Information);
db.SetButtons("Open Master File", "Save Master File", strBasePath + "\\master.csv");
db.ShowDialog(this);
このコードは私にとってはうまくいきます。
今、私のファイルはオープンモードになっています。別の基準をフィルタリングしてレポート (.csv ファイル) を再度開くと、ファイルが別のプロセスで使用されているというエラーがスローされます。
どうすればそのエラーを解決できますか?