我有一个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