【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
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM