如何在不使用XML的情况下将格式化的DataTable写入文件

本文关键字:格式化 DataTable 文件 情况下 XML | 更新日期: 2023-09-27 18:17:20

我有一个数据表(dt),当我把它放入DataGridView中时,它会自动地被很好地格式化。

我如何"写"这个表/视图到一个txt文件?无需循环遍历并自行执行所有格式化。

是否有任何内置功能?

dt.WriteXml(report,XmlWriteMode.IgnoreSchema);

不幸的是,上面给出了所有的XML结构和标签。

我想要一些类似于"GridView"。

如何在不使用XML的情况下将格式化的DataTable写入文件

基于Adam Rakaska的方法(从导出datagridview到csv文件):

只需将格式更改为"Text":

dataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
dataGridView1.SelectAll();
Clipboard.SetDataObject(dataGridView1.GetClipboardContent());
report.WriteLine( Clipboard.GetText(TextDataFormat.Text));

是否有任何内置功能?

没有,没有内置功能

这可能对你有用

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();
}