알쓸전컴(알아두면 쓸모있는 전자 컴퓨터)

Datatable 을 csv (엑셀)출력 하는 소스 본문

C# tip

Datatable 을 csv (엑셀)출력 하는 소스

백곳 2018. 7. 19. 14:16

Datatable 을 csv (엑셀)출력 하는 소스


아래 소스를 사용하여 csv 로 만듭니다.

 public static void ExpoetToCSV(DataTable dtDataTable, string strFilePath)
        {

            StreamWriter sw = new StreamWriter(strFilePath,false, System.Text.Encoding.Default);
            //headers   
            for (int i = 0; i < dtDataTable.Columns.Count; i++)
            {
                sw.Write(dtDataTable.Columns[i].ToString().Trim());
                if (i < dtDataTable.Columns.Count - 1)
                {
                    sw.Write(",");
                }
            }
            sw.Write(sw.NewLine);
            foreach (DataRow dr in dtDataTable.Rows)
            {
                for (int i = 0; i < dtDataTable.Columns.Count; i++)
                {
                    if (!Convert.IsDBNull(dr[i]))
                    {
                        string value = dr[i].ToString().Trim();
                        if (value.Contains(','))
                        {
                            value = String.Format("\"{0}\"", value);
                            sw.Write(value);
                        }
                        else
                        {
                            sw.Write(dr[i].ToString().Trim());
                        }
                    }
                    if (i < dtDataTable.Columns.Count - 1)
                    {
                        sw.Write(",");
                    }
                }
                sw.Write(sw.NewLine);
            }
            sw.Close();
        }



Comments