跳到主要內容

DataTable To TXT / CSV

DataTable dt = new DataTable();
            dt.Columns.Add("A");
            dt.Columns.Add("B");
            dt.Columns.Add("C");

            DataRow row = dt.NewRow();
            row["A"] = "黃小瓜";
            row["B"] = "0301580006";
            row["C"] = "20180515";
            dt.Rows.Add(row);

            row = dt.NewRow();
            row["A"] = "鄭蘿蔔";
            row["B"] = "58745873";
            row["C"] = "20180515";
            dt.Rows.Add(row);

            row = dt.NewRow();
            row["A"] = "邱白菜";
            row["B"] = "0999937456";
            row["C"] = "201805";
            dt.Rows.Add(row);


            //TXT
            StreamWriter sw = new StreamWriter(@"C:\Users\Desktop\log.txt", true);
            int i;
         
            foreach (DataRow dw in dt.Rows)
            {
                object[] array = dw.ItemArray;
                for (i = 0; i < array.Length - 1; i++)  //array.Length - 1 ,最後一個欄位先不寫入
                {
                    //if (i == 1)
                    //{
                    //    sw.Write(array[i].ToString().PadLeft(10, ' ') + " ");   //欄位B(補足長度)
                    //}
                    //else
                    //{
                    //    sw.Write(array[i].ToString() + " ");    //欄位A
                    //}
                    sw.Write(array[i].ToString() + " ");     //Write
                }
                //sw.WriteLine(array[i].ToString().PadRight(8, ' '));   //(補足長度) 最後一個欄位後 寫入換行
                sw.WriteLine(array[i].ToString());    //WriteLine
            }
         
            sw.Flush();
            sw.Close();



            //逗號分割 csv
            StreamWriter sw2 = new StreamWriter(@"C:\Users\Desktop\log.csv", true,System.Text.Encoding.UTF8);
            int j;
         
            foreach (DataRow dw in dt.Rows)
            {
                object[] array = dw.ItemArray;
                for (j = 0; j < array.Length - 1; j++)  //array.Length - 1 ,最後一個欄位先不寫入
                {
                    //if (j == 1)
                    //{
                    //    sw2.Write(array[j].ToString().PadLeft(10, ' ') + ",");   //欄位B(補足長度)
                    //}
                    //else
                    //{
                    //    sw2.Write(array[j].ToString() + ",");    //欄位A
                    //}
                    sw2.Write(array[j].ToString() + ",");     //Write
                }
                //sw2.WriteLine(array[j].ToString().PadRight(8, ' '));   //(補足長度) 最後一個欄位後 寫入換行
                sw2.WriteLine(array[j].ToString());    //WriteLine
            }
         
            sw2.Flush();
            sw2.Close();