`
jianglei244
  • 浏览: 19554 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

C#读写csv

    博客分类:
  • C#
阅读更多
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Data;
using System.Text.RegularExpressions;

public  class CSVUtil
{
public CSVUtil()
{
}
//write a new file, existed file will be overwritten
public static void WriteCSV(string filePathName,List<String[]>ls)
{
WriteCSV(filePathName,false,ls);
}
//write a file, existed file will be overwritten if append = false
public static void WriteCSV(string filePathName,bool append, List<String[]> ls)
{
StreamWriter fileWriter=new StreamWriter(filePathName,append,Encoding.Default);
foreach(String[] strArr in ls)
{
fileWriter.WriteLine(String.Join(",",strArr));
}
fileWriter.Flush();
fileWriter.Close();

}
        public static List<String[]> ReadCSV(string filePathName)
        {
            try
            {
                List<String[]> ls = new List<String[]>();
                StreamReader fileReader = new StreamReader(filePathName);
                if (fileReader == null)
                {
                    throw new Exception("The file is not exit!");
                }
                string strLine = "";
                string str = ",(?=\")|(?<=\"),";
                Regex r = new Regex(str);
                //string[] strSplit = {",\"","\","};
                strLine = fileReader.ReadLine();  //first line:header, do not need
                if (strLine == null)
                {
                    throw new Exception("The file is null!");
                }
                while (strLine != null)
                {
                    if (strLine.Contains("\""))
                    {
                        if (strLine != null && strLine.Length > 0)
                        {
                            if (r.IsMatch(strLine))
                            {
                                string[] temp = { };
                                temp = r.Split(strLine);
                                List<string> list = new List<string>();
                                //temp = strLine.Split(strSplit, StringSplitOptions.None);
                                for (int i = 0; i < temp.Length; i++)
                                {
                                    if (temp[i].StartsWith("\"") && temp[i].EndsWith("\""))
                                    {
                                        temp[i] = temp[i].Substring(1, temp[i].Length - 2);
                                        list.Add(temp[i]);
                                    }
                                    else
                                    {
                                        string[] ttemp = temp[i].Split(',');
                                        for (int j = 0; j < ttemp.Length; j++)
                                            list.Add(ttemp[j]);
                                    }
                                }
                                ls.Add(list.ToArray());
                            }
                            else
                                ls.Add(strLine.Split(','));
                        }

                    }
                    else
                    {
                        if (strLine != null && strLine.Length > 0)
                        {
                            ls.Add(strLine.Split(','));
                        }
                    }
                    strLine = fileReader.ReadLine();
                }
                fileReader.Close();
                return ls;
            }
            catch(Exception ex)
            {
                return null;
            }
        }


}
分享到:
评论

相关推荐

    C#读取CSV和EXCLE的代码

    C#读取CSV和EXCLE文件的代码实现 C#读取CSV和EXCLE文件是非常常见的一种数据读取操作。在实际开发中,我们经常需要读取CSV和EXCLE文件,以便将数据导入到程序中进行处理。下面,我们将详细介绍如何使用C#语言读取...

    C#读取csv格式文件的方法

    本文实例讲述了C#读取csv格式文件的方法。分享给大家供大家参考。具体实现方法如下: 一、CSV文件规则   1 开头是不留空,以行为单位。 2 可含或不含列名,含列名则居文件第一行。 3 一行数据不跨行,无空行。 4 以...

    C#读取CSV EXCEL文件

    C#读取CSV EXCEL文件的知识点解析 C#读取CSV EXCEL文件是指使用C#语言读取CSV(Comma Separated Values,逗号分隔值)文件和EXCEL文件的方法。CSV文件是一种通用的文本文件格式,用于存储表格数据,而EXCEL文件是一...

    使用C#读取csv文件的实例源码201902

    在这个"使用C#读取csv文件的实例源码201902"的案例中,我们将深入探讨如何利用C#来处理CSV文件。 首先,我们需要了解CSV文件的基本结构。CSV文件以纯文本形式存储数据,每行代表一个记录,记录之间的字段由逗号分隔...

    源码:C#操作CSV,C#读取CSV

    在本示例中,我们将探讨如何在C#环境中操作CSV文件,包括读取CSV、写入CSV以及处理包含逗号的特殊内容。 首先,要读取CSV文件,可以使用`StreamReader`类来逐行读取文件内容。每读取一行,就通过字符串的`Split`...

    C#读取CSV文件

    C#读取csv文件,可以设置表头起始行跟正文起始行(为了某些特殊需求)。 读取csv生成一个datatable类返回。 缺点(“单元格”不支持换行)。

    c#读写CSV加codesoft打印

    1. **读取CSV文件**:在C#中,可以使用`System.IO`命名空间中的`TextFieldParser`类来读取CSV文件。首先,创建一个`TextFieldParser`实例,然后设置分隔符(默认为逗号)和编码(如UTF-8)。接着,通过`ReadFields`...

    使用C#读取csv文件的实例源码

    本实例将深入探讨如何使用C#来读取CSV文件。 首先,你需要引入System.IO命名空间,它提供了对文件系统的基本操作,包括读取文件。在你的C#源代码文件顶部,添加以下引用: ```csharp using System; using System....

    使用C#读取csv文件的实例源码.rar

    本资源“使用C#读取csv文件的实例源码.rar”提供了一个实际的代码示例,帮助开发者理解如何在C#项目中读取CSV(逗号分隔值)文件。CSV文件是一种常见的数据存储格式,它以纯文本形式存储表格数据,便于在不同程序...

    使用C#读取csv文件的实例源码(0515).rar

    本篇文章将深入探讨如何使用C#来读取CSV文件,并通过实例源码来提供具体的实现方法。 首先,理解CSV文件的基本结构至关重要。CSV文件由行和列组成,列之间用逗号分隔。每一行代表一条记录,每一列则对应记录的一个...

    使用C#读取csv文件的实例源码.rar.rar

    本实例将详细介绍如何使用C#来读取CSV文件。 首先,我们需要了解CSV文件的基本结构。CSV文件是以逗号分隔的数据行,每一行代表一个记录,每个记录由一个或多个字段组成,字段之间用逗号分隔。例如: ``` 姓名,年龄...

    使用C#读取csv文件的实例源码2019

    本实例源码“使用C#读取csv文件的实例源码2019”着重展示了如何利用C#处理CSV(逗号分隔值)文件,这是一种常见的数据存储格式,通常用于数据交换。CSV文件因其简单性和通用性而在各种领域中得到广泛应用,例如数据...

    C# 读取和写入EXCELcsv表格 获取指定行的内容

    1. **读取CSV文件**: - 首先,我们需要创建一个`StreamReader`对象来打开和读取文件。 - 然后,使用`TextFieldParser`类(在`Microsoft.VisualBasic.FileIO`命名空间中)来解析CSV文件。这个类可以很好地处理逗号...

    C#读取csv文件的实例源码

    本文将详细介绍如何使用C#来读取CSV文件,并提供一个实例源码进行解析。 首先,理解CSV文件的基本结构至关重要。CSV文件由行组成,每行包含一个或多个数据项,数据项之间用逗号分隔。有时,如果数据项本身包含逗号...

    C#文件流读取CSV文件

    总结来说,C#中的文件流读取CSV文件主要涉及`FileStream`、`StreamReader`和`TextReader`的使用。对于更复杂的Excel操作,可以借助第三方库,如EPPlus或NPOI。在处理Excel数据时,了解如何正确解析和操作CSV格式的...

    使用C#读取csv文件的实例源码201903

    在C#编程环境中,读取CSV文件是常见的任务,尤其在处理大量数据时。本实例源码提供了在2019年3月开发的一个具体实现,旨在帮助开发者理解和掌握如何使用C#进行CSV文件的读取操作。 首先,我们需要了解C#中读取文件...

    使用C#读取csv文件的实例源码(0520_).rar

    本实例源码是关于如何使用C#编程语言来读取CSV文件,这对于数据处理、数据分析或数据导入导出等场景尤其重要。 在C#中,我们可以使用内置的`System.IO`命名空间中的类来处理文件操作,特别是`StreamReader`和`...

    使用C#读取csv文件的实例源码【201903】

    C#是Microsoft开发的一种面向对象的编程语言,非常适合进行各种数据操作,包括读取CSV文件。本实例将深入探讨如何使用C#来读取CSV文件,并提供相关源码分析。 首先,让我们了解CSV文件的基本结构。CSV文件由一行行...

Global site tag (gtag.js) - Google Analytics