資源簡介
運行環境:vs2010
Csv文件的讀寫,操作Csv文件,將dataGridView導出到CSV,加載CSV數據到DataGridView,包含對逗號的處理,內容中包含逗號也可以

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.IO;
namespace?CsvDemo
{
????class?CsvUtil
????{
????????private?static?char?quotechar?=?‘‘;
????????public?static?void?WriteCSV(string?filePathName?List?rows?bool?append)?????????
????????{?
????????????StreamWriter?fileWriter=new?StreamWriter(filePathNameappendEncoding.Default);
????????????foreach?(string[]?cells?in?rows)?????????????
????????????{
????????????????StringBuilder?buffer?=?new?StringBuilder();
????????????????for?(int?i?=?0;?i?????????????????{
????????????????????string?str?=?cells[i].Replace(“\““?““).Trim();
????????????????????if?(str?==?null)
????????????????????????str?=?““;
????????????????????if(str.IndexOf(““)>-1){
????????????????????????str?=?“\““+str+“\““;
????????????????????}
????????????????????buffer.Append(str);
????????????????????if?(i?!=?cells.Length?-?1)
????????????????????????buffer.Append(quotechar);
????????????????}
????????????????fileWriter.WriteLine(buffer.ToString());?????????????
????????????}
????????????fileWriter.Flush();?????????????
????????????fileWriter.Close();
????????}
????????public?static?List?ReadCSV(string?filePathName)
????????{
????????????StreamReader?fileReader?=?new?StreamReader(filePathName?Encoding.Default);
????????????string?rowStr?=?fileReader.ReadLine();
????????????//?“a1“bc?????//?“\“a1\“\“b12\“\“ccc\“ddd“
????????????List?rowList?=?new?List();
????????????while?(rowStr?!=?null)?{
????????????????List?cellVals?=?getStrCellVal(rowStr);
????????????????string[]?cells?=?new?string[cellVals.Count];
????????????????for?(int?i?=?0;?i?????????????????????cells[i]?=?cellVals[i];
????????????????}
????????????????rowList.Add(cells);
????????????????rowStr?=?fileReader.ReadLine();
????????????}
????????????fileReader.Close();
????????????return?rowList;
????????}
????????private?static?List?getStrCellVal(string?rowStr)?{
????????????List?cellList?=?new?List();
????????????while?(rowStr?!=?null?&&?rowStr.Length?>?0)
????????????{
????????????????string?cellVal?=?““;
????????????????if?(rowStr.StartsWith(“\““))
????????????????{
????????????????????rowStr?=?rowStr.Substring(1);
????????????????????int?i?=?rowStr.IndexOf(“\““);
????????????????????int?j?=?rowStr.IndexOf(“\“?“);
????????????????????int?k?=?rowStr.IndexOf(“\““);
????????????????????if?(i?0)?i?=?j;
????????????????????if?(i?0)?i?=?k;
????????????????????if?(i?>?-1)
????????????????????{
????????????????????????cellVal?=?rowStr.Substring(0?i);
????????????????????????if?((i?+?2)?????????????????????????????rowStr?=?rowStr.Substring(i?+?2).Trim();
????????????????????????else
????????????????????????????rowStr?=?““;
????????????????????}
????????????????????else
????????????????????{
?????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3763??2014-08-26?09:27??CsvDemo\CsvDemo\CsvDemo.csproj
?????文件???????3949??2014-08-26?12:23??CsvDemo\CsvDemo\CsvUtil.cs
?????文件???????2520??2014-08-26?12:14??CsvDemo\CsvDemo\Form1.cs
?????文件???????9865??2014-08-26?11:18??CsvDemo\CsvDemo\Form1.Designer.cs
?????文件???????6550??2014-08-26?11:18??CsvDemo\CsvDemo\Form1.resx
?????文件????????488??2014-08-26?09:22??CsvDemo\CsvDemo\Program.cs
?????文件???????1394??2014-08-26?09:22??CsvDemo\CsvDemo\Properties\AssemblyInfo.cs
?????文件???????2864??2014-08-26?09:22??CsvDemo\CsvDemo\Properties\Resources.Designer.cs
?????文件???????5612??2014-08-26?09:22??CsvDemo\CsvDemo\Properties\Resources.resx
?????文件???????1092??2014-08-26?09:22??CsvDemo\CsvDemo\Properties\Settings.Designer.cs
?????文件????????249??2014-08-26?09:22??CsvDemo\CsvDemo\Properties\Settings.settings
?????文件????????911??2014-08-26?09:22??CsvDemo\CsvDemo.sln
????..A..H.?????13824??2014-08-26?12:24??CsvDemo\CsvDemo.suo
?????目錄??????????0??2014-08-26?12:24??CsvDemo\CsvDemo\bin\Debug
?????目錄??????????0??2014-08-26?12:24??CsvDemo\CsvDemo\obj\Debug
?????目錄??????????0??2014-08-27?21:13??CsvDemo\CsvDemo\bin
?????目錄??????????0??2014-08-27?21:13??CsvDemo\CsvDemo\obj
?????目錄??????????0??2014-08-27?21:13??CsvDemo\CsvDemo\Properties
?????目錄??????????0??2014-08-27?21:13??CsvDemo\CsvDemo
?????目錄??????????0??2014-08-27?21:13??CsvDemo
-----------?---------??----------?-----??----
????????????????53081????????????????????20
評論
共有 條評論