我有我的DatagridCells出口.CSV
代碼,但我有一個問題,閱讀它通過MetaTrader的終端程序作爲.CSV
文件是具有第一行中的空白處以及之後,.CSV
文件可能會在一段時間內變爲空白並恢復正常。寫一個DataGridView到一個CSV文件返回空行有時
這是我的代碼或與DataGridView
s?
public void writeCSV2(DataGridView gridIn, string outputFil)
{
if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyComputer) + "\\Useful\\"))
{
Directory.CreateDirectory(Environment.GetFolderPath(Environment.SpecialFolder.MyComputer) + "\\Useful\\");
}
if (gridIn.RowCount > 0)
{
string value = "";
DataGridViewRow dr = new DataGridViewRow();//
//write DataGridView rows to csv
for (int j = 0; j <= gridIn.Rows.Count - 1; j++)
{
dr = gridIn.Rows[j];
var oFile = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer)+"\\Useful\\" +dr.Cells[0].Value.ToString() + ".csv";
using (StreamWriter swOut = new StreamWriter(oFile))
{
if (j > 0)
{
swOut.WriteLine();
}
for (int i = 0; i <= gridIn.Columns.Count - 1; i++)
{
if (i > 0)
{
swOut.Write(", ");
}
value = dr.Cells[i].Value.ToString();
//replace comma's with spaces
value = value.Replace(',', ' ');
//replace embedded newlines with spaces
value = value.Replace(Environment.NewLine, "");
swOut.Write(value);
}
swOut.Close();
}
}
}
}
感謝您的幫助和意見對這個
您正在爲每個DataGridViewRow創建一個新的csv文件。你故意這樣做嗎? – Roman
是的,爲了使所有的行都有csv文件的名字... – ThisDude
空行是因爲if語句。 'if(j> 0){swOut.WriteLine(); }'。這只是在第一個文件以外的每個文件的頂部寫一個空行。 – Roman