我有一个数据表(dt),当我放入DataGridView时,它会自动且格式化。
如何将此表/视图“写”到txt文件?没有循环并自己完成所有格式化。
是否有内置功能?
dt.WriteXml(report,XmlWriteMode.IgnoreSchema);
不幸的是,上面提供了所有XML结构和标签。
我想要一些类似于“GridView”。
答案 0 :(得分:1)
基于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));
这样可以节省自己编码所有格式的费用。
答案 1 :(得分:0)
是否有内置功能?
不,没有内置功能
这可能会为你做到这一点
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();
}