我有一個datatable(dt),當我把它放到一個DataGridView中時,它會自動並且很好地格式化。如何在沒有XML的情況下將格式化的DataTable寫入文件?
如何將此表/視圖寫入txt文件?沒有循環,自己做所有的格式。
是否有任何內置功能?
dt.WriteXml(report,XmlWriteMode.IgnoreSchema);
上面的遺憾給出了所有的XML結構和標籤。
我想要一些類似於「GridView」的東西。
我有一個datatable(dt),當我把它放到一個DataGridView中時,它會自動並且很好地格式化。如何在沒有XML的情況下將格式化的DataTable寫入文件?
如何將此表/視圖寫入txt文件?沒有循環,自己做所有的格式。
是否有任何內置功能?
dt.WriteXml(report,XmlWriteMode.IgnoreSchema);
上面的遺憾給出了所有的XML結構和標籤。
我想要一些類似於「GridView」的東西。
有沒有內置功能?
NO,沒有內置的功能
這可能會做的伎倆爲您
public static void DataTable2TXT(DataTable dt, string fp)
{
int i = 0;
StreamWriter sw = null;
sw = new StreamWriter(fp, false);
for (i = 0; i < dt.Columns.Count - 1; i++)
{
sw.Write(dt.Columns[i].ColumnName + ";");
}
sw.Write(dt.Columns[i].ColumnName);
sw.WriteLine();
foreach (DataRow row in dt.Rows)
{
object[] array = row.ItemArray;
for (i = 0; i < array.Length - 1; i++)
{
sw.Write(array[i].ToString() + ";");
}
sw.Write(array[i].ToString());
sw.WriteLine();
}
sw.Close();
}
基於Adam Rakaska's approach(從Exporting datagridview to csv file):
只需要改變格式爲「文本」:
dataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
dataGridView1.SelectAll();
Clipboard.SetDataObject(dataGridView1.GetClipboardContent());
report.WriteLine(Clipboard.GetText(TextDataFormat.Text));
這節省了自己編碼所有的格式。
http://stackoverflow.com/questions/11749812/write-rows-from-datatable-to-text-file and http://stackoverflow.com/questions/17398019/how-to-convert-datatable-to -json-in-c-sharp會進入這個方向,但是你在遍歷事物 – Thomas
[Exporting datagridview to csv file]可能重複(http://stackoverflow.com/questions/9943787/exporting-datagridview-to- CSV文件) – ASh