资源简介

运行环境: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


评论

共有 条评论