C#實現DataTable轉.CSV文件

     將DataTable轉換成CSV文件是一種常見的轉換形式,主要經過遍歷Table的每行,再對每行遍歷每列,實現對數據的讀取,而後用分隔符分隔Table的每一個欄位數據,把讀取的字符寫入到CSV文件中。這裏每一個欄位之間用逗號分隔,每行用換行符。實現代碼以下:ui

public ExecutionResult DataTableToCsv(System.Data.DataTable vContent, string vOutputFilePath)
        {
            ExecutionResult sResult = new ExecutionResult();
            System.Text.StringBuilder sCsvContent;
            try
            {
                sCsvContent = new System.Text.StringBuilder();
                //欄位
                for (int i = 0; i < vContent.Columns.Count; i++)
                {
                    sCsvContent.Append(vContent.Columns[i].ColumnName);
                    sCsvContent.Append(i == vContent.Columns.Count - 1 ? "\r\n" : ",");
                }
                //數據
                foreach (System.Data.DataRow row in vContent.Rows)
                {
                    for (int i = 0; i < vContent.Columns.Count; i++)
                    {
                        sCsvContent.Append(row[i].ToString().Trim());
                        sCsvContent.Append(i == vContent.Columns.Count - 1 ? "\r\n" : ",");
                    }
                }
                File.WriteAllText(vOutputFilePath, sCsvContent.ToString(), Encoding.UTF8);
                sResult.Status = true;
            }
            catch (Exception ex)
            {
                sResult.Message = ex.Message;
                sResult.Status = false;
            }
            return sResult;
        }
相關文章
相關標籤/搜索