你的位置:首页 > ASP.net教程

[ASP.net教程]【C#】用C#通过读取数据库方式读取CSV文件


using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;namespace CsvtoSqlserver{  static class Program  {    ///    /// アプリケーションのメイン エントリ ポイントです。    ///    [STAThread]    static void Main()    {      ImportOutlooExpByOleDB("C:\\Users\\Desktop\\333","111.csv");    }    public static bool ImportOutlooExpByOleDB(string path, string fileName)    {      string cs = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + @";Extended Properties=""text;HDR=Yes;FMT=Delimited""";      System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(cs);      con.Open();      try      {        string sql = String.Format("SELECT * FROM [{0}] ", fileName);        System.Data.DataSet ds = new System.Data.DataSet();        System.Data.OleDb.OleDbDataAdapter ada = new System.Data.OleDb.OleDbDataAdapter(sql, con);        ada.Fill(ds, fileName);        return true;      }      catch      {        return false;      }    }  }}// 以上代码将CSV内容存放到DataSet中。下面将DataSet导入SQLserver数据库,要求表中字段与CSV完全对应//写入数据库源代码;此方法是源文件内容中的例必须和要导入的表的例数一至,且数据格式一至using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.Sql;using System.Data.SqlClient;namespace CC{  ///  /// 将数据写入数据库表中去  ///  class SqlBulkData  {    SqlConnection SqlCon = new SqlConnection();    #region 将数据写数据库表中去(大容量)例与数据库表例一至    ///    /// 将数据写数据库表中去(大容量)例与数据库表例一至    ///    /// 数据源内容    /// 表名    /// 返回是否成功!    public bool BulkData(DataSet _Ds, string _TableName)    {      SqlCon.ConnectionString = "";      SqlCon.Open();      SqlBulkCopy SqlBulk = new SqlBulkCopy(SqlCon);      SqlBulk.DestinationTableName = _TableName;      try      {        SqlBulk.WriteToServer(_Ds.Tables[0], DataRowState.Unchanged);        return true;      }      catch      {        return false;      }      finally      {        SqlCon.Close();        SqlCon.Dispose();        SqlBulk.Close();      }    }    #endregion  }}