從EXCEL匯入資料到SQL SERVER
介紹兩種途徑將資料從EXCEL中匯入到SQL SERVER。
一、 在程式中,用ADO.NET。程式碼如下:
//連線串
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + [EXCEL檔案,含路徑] + ";";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DataTable dtSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null, null, null, "TABLE"});
DataSet ds = new DataSet();
//一個EXCEL檔案可能有多個工作表,遍歷之
foreach( DataRow dr in dtSchema.Rows )
{
string table = dr["TABLE_NAME"].ToString();
string strExcel = "SELECT * FROM [" + table + "]";
ds.Tables.Add(table);
OleDbDataAdapter myCommand = new OleDbDataAdapter(strExcel,conn);
myCommand.Fill(ds,table);
}
conn.Close();
這樣,讀取出來的資料就藏在DataSet裡了。
採用這種方式,資料庫所在機器不必裝有EXCEL。
二、 在查詢分析器裡,直接寫SQL語句:
如果是匯入資料到現有表,則採用
INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
的形式
如果是匯入資料並新增表,則採用
SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
的形式。
以上語句是將EXCEL檔案裡SHEET1工作表中所有的列都讀進來,如果只想導部分列,可以
INSERT INTO 表(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
其實可以將OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)當成一個表,例如我就寫過這樣一個句子:
INSERT INTO eval_channel_employee(channel,employee_id)
SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END
,b.id FROM
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) AS a,pers_employee b
WHERE a.員工編碼=b.code
不管是哪種方式,哪種途徑,系統都會預設將第一行上的內容作為欄位名。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-545029/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 從Excel匯入sql serverExcelSQLServer
- [pb]從excel匯入資料到datawindowExcel
- 資料庫SQL Server DAC 匯入匯出資料到SQL Azure問題資料庫SQLServer
- SQL SERVER 和EXCEL的資料匯入匯出SQLServerExcel
- Excel 匯入 SQL Server 步驟:ExcelSQLServer
- Python批量匯入Excel資料到MySQLPythonExcelMySql
- (轉)excel和sql server的匯入匯出ExcelSQLServer
- 從Sql Server遷移資料到OracleSQLServerOracle
- SQL通過bcp匯出資料到excel檔案SQLExcel
- 用Perl從oracle匯出百萬級資料到excelOracleExcel
- Excel資料匯入Sql Server,部分數字為NullExcelSQLServerNull
- 利用Excel匯入資料到SAP C4CExcel
- 如何從網頁中匯入外部資料到Excel2003網頁Excel
- PHP匯出大量資料到excel表格PHPExcel
- SQL server資料匯入OracleSQLServerOracle
- 使用Excel匯入資料到SAP Cloud for Customer系統ExcelCloud
- Java 匯入資料到Excel並提供檔案下載介面JavaExcel
- asp.net 操作Excel表資料匯入到SQL Server資料庫ASP.NETExcelSQLServer資料庫
- SQLServer匯出匯入資料到MySQLServerMySql
- Vue匯出資料到Excel電子表格VueExcel
- 【Mysql】匯出資料到excel檔案中MySqlExcel
- [zt] SQL Server匯出匯入資料方法SQLServer
- SQL Server快速匯入資料分享SQLServer
- SQL Server海量資料匯入方法SQLServer
- 使用Oracle SQL Developer匯入Excel資料OracleSQLDeveloperExcel
- 用SQL語句匯入excel資料SQLExcel
- SQL Server伺服器上需要匯入Excel資料的必要條件SQLServer伺服器Excel
- Excel資料匯入SQL Server2000的儲存過程ExcelSQLServer儲存過程
- java 從EXCEL匯入到資料庫JavaExcel資料庫
- 從Excel到匯入MYSQL資料庫ExcelMySql資料庫
- 使用Spark載入資料到SQL Server列儲存表SparkSQLServer
- SQL Server匯入、匯出、備分資料方法SQLServer
- 使用mysqlimport匯入資料到mysqlMySqlImport
- spark sql與mysql 資料載入與匯出資料到mysqlSparkMySql
- 在SQL Server資料庫中匯入匯出資料SQLServer資料庫
- SQL Server海量資料匯入的方法SQLServer
- C#快速匯出百萬級資料到Excel方法C#Excel
- 匯入網頁資料到 Google Sheet網頁Go