C# 导入CSV文件,导出到CSV文件
生活随笔
收集整理的這篇文章主要介紹了
C# 导入CSV文件,导出到CSV文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
導入CSV文件?
public static DataTable ImportFromCsv(string filePath)//從csv讀取數據返回table {//Encoding encoding = System.Data.Common.GetType(filePath); //Encoding.ASCII;// DataTable dt = new DataTable();FileStream fs = new FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read);//StreamReader sr = new StreamReader(fs, Encoding.UTF8); StreamReader sr = new StreamReader(fs, Encoding.Default);//記錄每次讀取的一行記錄 string strLine = "";//記錄每行記錄中的各字段內容 string[] aryLine = null;//標示列數 int columnCount = 0;//標示是否是讀取的第一行 bool IsFirst = true;//逐行讀取CSV中的數據 while ((strLine = sr.ReadLine()) != null){DataRow dr = dt.NewRow();aryLine = strLine.Split(',');if (IsFirst == true){IsFirst = false;columnCount = aryLine.Length;//創建列 for (int i = 0; i < columnCount; i++){DataColumn dc = new DataColumn(aryLine[i].ToString());dt.Columns.Add(dc);}}else{for (int j = 0; j < columnCount; j++){dr[j] = aryLine[j];}dt.Rows.Add(dr);}}sr.Close();fs.Close();return dt;}導出CSV文件
?
public static string ExportToCsv(System.Data.DataTable dt, string path){string result = string.Empty;try{// 實例化流對象,以特定的編碼向流中寫入字符。 StreamWriter sw = new StreamWriter(path, false, Encoding.GetEncoding("gb2312"));StringBuilder sb = new StringBuilder();for (int k = 0; k < dt.Columns.Count; k++){// 添加列名稱 sb.Append(dt.Columns[k].ColumnName.ToString());if (k < dt.Columns.Count - 1){sb.Append(",");}}sb.Append(Environment.NewLine);// 添加行數據 for (int i = 0; i < dt.Rows.Count; i++){DataRow row = dt.Rows[i];for (int j = 0; j < dt.Columns.Count; j++){// 根據列數追加行數據 sb.Append(row[j].ToString());if (j < dt.Columns.Count - 1){sb.Append(",");}}sb.Append(Environment.NewLine);}sw.Write(sb.ToString());sw.Flush();sw.Close();sw.Dispose();// 導出成功后打開 //System.Diagnostics.Process.Start(path); }?
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的C# 导入CSV文件,导出到CSV文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: distribution was not
- 下一篇: Java 抛异常的两种方法