zoukankan      html  css  js  c++  java
  • C#读取CSV文件的四种方法

    Code 1:

      用一个System.Web.UI.HtmlControls.HtmlInputFile去handle文件选取。 

      以下是button  click  event中的code,用来执行当文件选取了之后读取文件的内容。 

      1      System.Web.HttpPostedFile input = Request.Files[0];
    2
    3      if (input != null && input.ContentLength != 0)
    4      {
    5        string path = input.FileName.ToString();
    6        System.IO.StreamReader reader = new System.IO.StreamReader(path);
    7
    8        reader.Peek();
    9        while (reader.Peek() > 0)
    10        {
    11          string str = reader.ReadLine();
    12          string[] split = str.Split(',');
    13          if (split[0] != "" && split[1] != "")
    14          {
    15            System.Data.DataSet ds = new DataSet();
    16            System.Data.DataRow dr = ds.Tables[0].NewRow();
    17            dr[0] = split[0];
    18            dr[1] = split[1];
    19            ds.Tables[0].Rows.Add(dr);
    20          }
    21        }
    22      }

      CODE 2:

      刚刚做过,直接当表来读 

     SELECT  * 
     INTO  theImportTable 
     FROM 
     OPENROWSET('MSDASQL', 
     'Driver={Microsoft  Text  Driver  (*.txt;  *.csv)};DEFAULTDIR=D:;Extensions=CSV;', 
     'SELECT  *  FROM  CSVFile.csv')

      CODE 3:

    OPENROWSET('MSDASQL', 
     'Driver={Microsoft  Text  Driver  (*.txt;  *.csv)};DEFAULTDIR=D:;Extensions=CSV;', 
     'SELECT  *  FROM  CSVFile.csv') 

      好复杂哦

      文件当作一个数据库来操作,使用ole驱动

      CODE 4:

    1      int intColCount = 0;
    2      DataTable mydt = new DataTable("myTableName");
    3
    4      DataColumn mydc;
    5      DataRow mydr;
    6
    7      string strpath = "";
    8      string strline;
    9      string[] aryline;
    10
    11      System.IO.StreamReader mysr = new System.IO.StreamReader(strpath);
    12
    13      while ((strline = mysr.ReadLine()) != null)
    14      {
    15        aryline = strline.Split(new char[] { '|' });
    16
    17        intColCount = aryline.Length;
    18        for (int i = 0; i < aryline.Length; i++)
    19        {
    20          mydc = new DataColumn(aryline[i]);
    21          mydt.Columns.Add(mydc);
    22        }
    23
    24        mydr = mydt.NewRow();
    25        for (int i = 0; i < intColCount; i++)
    26        {
    27          mydr[i] = aryline[i];
    28        }
    29        mydt.Rows.Add(mydr);
    30      } 

  • 相关阅读:
    poj 2251 Dungeon Master
    poj 2488 A Knight's Journey
    poj 3349
    poj 2442
    poj 3274 Gold Balanced Lineup
    优先队列
    广州华盟信息科技有限公司
    山东山大华天软件有限公司
    RvmTranslator6.5 is released
    PipeCAD之管道标准库PipeStd(2)
  • 原文地址:https://www.cnblogs.com/jordan2009/p/1645027.html
Copyright © 2011-2022 走看看