Converting DataSet/DataTable to CSV

后端 未结 5 462
梦谈多话
梦谈多话 2020-12-11 07:09

Please let me know, if there any way to generate CSV files from a DataTable or DataSet? To be specific, without manually iterating through rows of DataTable and concatenatin

5条回答
  •  一整个雨季
    2020-12-11 07:47

    //Dataset To Xls
    ExportDataSetToCsvFile(DS,@"C:\\");
    
    internal static void ExportDataSetToCsvFile(DataSet _DataSet, string DestinationCsvDirectory)
    {
        try
        {
            foreach (DataTable DDT in _DataSet.Tables)
            {
                String MyFile = @DestinationCsvDirectory + "\\_" + DDT.TableName.ToString() + DateTime.Now.ToString("yyyyMMddhhMMssffff") + ".csv";//+ DateTime.Now.ToString("ddMMyyyyhhMMssffff")
                using (var outputFile = File.CreateText(MyFile))
                {
                    String CsvText = string.Empty;
    
                    foreach (DataColumn DC in DDT.Columns)
                    {
                        if (CsvText != "")
                            CsvText = CsvText + "," + DC.ColumnName.ToString();
                        else
                            CsvText = DC.ColumnName.ToString();
                    }
                    outputFile.WriteLine(CsvText.ToString().TrimEnd(','));
                    CsvText = string.Empty;
    
                    foreach (DataRow DDR in DDT.Rows)
                    {
                        foreach (DataColumn DCC in DDT.Columns)
                        {
                            if (CsvText != "")
                                CsvText = CsvText + "," + DDR[DCC.ColumnName.ToString()].ToString();
                            else
                                CsvText = DDR[DCC.ColumnName.ToString()].ToString();
                        }
                        outputFile.WriteLine(CsvText.ToString().TrimEnd(','));
                        CsvText = string.Empty;
                    }
                    System.Threading.Thread.Sleep(1000);
                }
            }
        }
        catch (Exception Ex)
        {
            throw Ex;
        }  
    }
    

提交回复
热议问题