第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

讀取Excel的記錄并導(dǎo)入SQL數(shù)據(jù)庫

標(biāo)簽:
SQL Server

准备一下,近段时间,需要把Excel的数据导入数据库中。

引用命名空间:

using System.Configuration;using System.Data;using System.Data.OleDb;using System.Data.SqlClient;

 

你可以写一个方法,是去读取Excel文档的方法,返回DataSet数据集:

 

private DataSet ImportExcelToDataSet(string virtualPath, string sqlQueryStatement)    {        string excelConnectionString = DB.ExcelConnectionString(Server.MapPath(virtualPath));        OleDbConnection dc = new OleDbConnection(excelConnectionString);        OleDbDataAdapter da = new OleDbDataAdapter(sqlQueryStatement, dc);        DataSet ds = new DataSet();        da.Fill(ds);        return ds;    }

Source Code


导入数据库,在数据库中,需要创建一个表来存储Excel导入来的数据:



接下来,你可以使作SqlBulkCopy的方法进行复制数据库:

 

try        {            string cs = ConfigurationManager.ConnectionStrings["InsusSqlConnectionString"].ConnectionString;            using (SqlConnection sqlConn = new SqlConnection(cs))            {                string sqlQueryStatement = "SELECT [Material],[Plnt],[Level],[Item],[Component],[Object description] FROM [Sheet1$]";                string virtualPath = "~/App_Data/Book1.xlsx";                DataSet ds = ImportExcelToDataSet(virtualPath, sqlQueryStatement);                DataTable dt = ds.Tables[0];                sqlConn.Open();                using (SqlBulkCopy sqlbc = new SqlBulkCopy(sqlConn))                {                    sqlbc.DestinationTableName = "BOM";                    sqlbc.ColumnMappings.Add("Material", "Material");                    sqlbc.ColumnMappings.Add("Plnt", "Plnt");                    sqlbc.ColumnMappings.Add("Level", "Level");                    sqlbc.ColumnMappings.Add("Item", "Item");                    sqlbc.ColumnMappings.Add("Component", "Component");                    sqlbc.ColumnMappings.Add("Object description", "Object description");                    sqlbc.WriteToServer(dt);                    Response.Write("数据导入成功!");                }            }        }        catch (Exception ex)        {            throw ex;        }

Source Code


演示:

 

 

下面内容于2017-10-17 14:38分添加:

使用sqlDataReader来导入,没有做过多的测试,速度与DataSet快不了多少:


private OleDbDataReader ImportExcelToDataReader(string virtualPath, string sqlQueryStatement)    {        string excelConnectionString = DB.ExcelConnectionString(Server.MapPath(virtualPath));        OleDbConnection oleConn = new OleDbConnection(excelConnectionString);        OleDbCommand oleComm = new OleDbCommand(sqlQueryStatement, oleConn);        oleConn.Open();        return oleComm.ExecuteReader();    }

Source Code


SqlBulkCopy的方法:


 

 string sqlQueryStatement = "SELECT [Material],[Plnt],[Level],[Item],[Component],[Object description] FROM [Sheet1$]";        string virtualPath = "~/App_Data/Book1.xlsx";        string cs = ConfigurationManager.ConnectionStrings["InsusSqlConnectionString"].ConnectionString;        SqlConnection sqlConn = new SqlConnection(cs);        OleDbDataReader reader = ImportExcelToDataReader(virtualPath, sqlQueryStatement);        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn))        {            bulkCopy.DestinationTableName = "BOM";            try            {                sqlConn.Open();                bulkCopy.WriteToServer(reader);                Response.Write("数据导入成功。");            }            catch (Exception ex)            {                Console.WriteLine(ex.Message);            }            finally            {                reader.Close();                sqlConn.Close();            }        }

Source Code

 

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消