资源简介
运行环境: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 < cells.Length; ++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 < cellVals.Count; 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.Length)
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
评论
共有 条评论