Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据表中的记录存储在csv文件中_C#_.net_Winforms_Csv_Datatable - Fatal编程技术网

C# 将数据表中的记录存储在csv文件中

C# 将数据表中的记录存储在csv文件中,c#,.net,winforms,csv,datatable,C#,.net,Winforms,Csv,Datatable,我有datatable,在代码的帮助下在datagridview中显示这些值: dataGridView1.ColumnCount = TableWithOnlyFixedColumns.Columns.Count; dataGridView1.RowCount = TableWithOnlyFixedColumns.Rows.Count; for (int i = 0; i < dataGridView1.RowCount; i++) { for (

我有datatable,在代码的帮助下在datagridview中显示这些值:

   dataGridView1.ColumnCount = TableWithOnlyFixedColumns.Columns.Count;
   dataGridView1.RowCount = TableWithOnlyFixedColumns.Rows.Count;
   for (int i = 0; i < dataGridView1.RowCount; i++)
   {
       for (int j = 0; j < dataGridView1.ColumnCount; j++)
       {
           dataGridView1[j, i].Value = TableWithOnlyFixedColumns.Rows[i][j].ToString();
       }
   }
   TableExtractedFromFile.Clear();
   TableWithOnlyFixedColumns.Clear();
dataGridView1.ColumnCount=TableWithOnlyFixedColumns.Columns.Count;
dataGridView1.RowCount=TableWithOnlyFixedColumns.Rows.Count;
对于(int i=0;i
现在,我想将数据表中的记录保存在csv文件中。我如何才能做到这一点?

您可以这样做:

// we'll use these to check for rows with nulls
var columns = yourTable.Columns
    .Cast<DataColumn>();

// say the column you want to sort by is called "Date"
var rows = yourTable.Select("", "Date ASC"); // or "Date DESC"

using (var writer = new StreamWriter(yourPath)) {
    for (int i = 0; i < rows.Length; i++) {
        DataRow row = rows[i];

        // check for any null cells
        if (columns.Any(column => row.IsNull(column)))
            continue;

        string[] textCells = row.ItemArray
            .Select(cell => cell.ToString()) // may need to pick a text qualifier here
            .ToArray();

        // check for non-null but EMPTY cells
        if (textCells.Any(text => string.IsNullOrEmpty(text)))
            continue;

        writer.WriteLine(string.Join(",", textCells));
    }
}
//我们将使用这些检查是否有空行
var columns=yourTable.columns
.Cast();
//假设要排序的列称为“日期”
var rows=yourTable。选择(“,“日期ASC”);//或“日期说明”
使用(var writer=newstreamwriter(yourPath)){
for(int i=0;irow.IsNull(column)))
继续;
字符串[]textCells=row.ItemArray
.Select(cell=>cell.ToString())//可能需要在此处选择文本限定符
.ToArray();
//检查是否存在非null但为空的单元格
if(textCells.Any(text=>string.IsNullOrEmpty(text)))
继续;
writer.WriteLine(string.Join(“,”,textCells));
}
}
您可以这样做:

// we'll use these to check for rows with nulls
var columns = yourTable.Columns
    .Cast<DataColumn>();

// say the column you want to sort by is called "Date"
var rows = yourTable.Select("", "Date ASC"); // or "Date DESC"

using (var writer = new StreamWriter(yourPath)) {
    for (int i = 0; i < rows.Length; i++) {
        DataRow row = rows[i];

        // check for any null cells
        if (columns.Any(column => row.IsNull(column)))
            continue;

        string[] textCells = row.ItemArray
            .Select(cell => cell.ToString()) // may need to pick a text qualifier here
            .ToArray();

        // check for non-null but EMPTY cells
        if (textCells.Any(text => string.IsNullOrEmpty(text)))
            continue;

        writer.WriteLine(string.Join(",", textCells));
    }
}
//我们将使用这些检查是否有空行
var columns=yourTable.columns
.Cast();
//假设要排序的列称为“日期”
var rows=yourTable。选择(“,“日期ASC”);//或“日期说明”
使用(var writer=newstreamwriter(yourPath)){
for(int i=0;irow.IsNull(column)))
继续;
字符串[]textCells=row.ItemArray
.Select(cell=>cell.ToString())//可能需要在此处选择文本限定符
.ToArray();
//检查是否存在非null但为空的单元格
if(textCells.Any(text=>string.IsNullOrEmpty(text)))
继续;
writer.WriteLine(string.Join(“,”,textCells));
}
}

@Dan Tao,如果有空值或没有任何内容(空字符串),则整行不应存储在csv文件中。我该怎么做?@Harikrishna:我已经更新了代码,并建议您如何执行此操作。@Dan Tao,如果datetime的datatable类型中有一列,那么我希望csv文件中的这些记录按日期排序?@Harikrishna:您可以使用
datatable检索排序的行。选择
方法。我已经用一个例子更新了我的答案。@Dan Tao,对记录进行排序的最佳方法是什么?Datatable.Select还是Datatable.DefaultView.sort?@Dan Tao,如果有空值或什么都没有(空字符串)那么整行不应该存储在csv文件中。我该怎么做呢?@Harikrishna:我已经更新了代码,并建议您如何做。@Dan Tao,如果datetime的datatable类型中有一列,那么我希望csv文件中的这些记录按日期排序?@Harikrishna:您可以使用
datatable检索排序的行。选择
方法。我已经用一个例子更新了我的答案。@Dan Tao,对记录进行排序的最佳方法是Datatable.Select还是Datatable.DefaultView.sort?