c#将Excel数据导入到数据库的实现代码(OleDb)
2014-02-18 14:02
831 查看
sing System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.OleDb; using System.Configuration; using System.Data.SqlClient; namespace InExcelOutExcel { public partial class ExcelToDB : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { FileSvr fileSvr = new FileSvr(); System.Data.DataTable dt = fileSvr.GetExcelDatatable("C:\\Users\\NewSpring\\Desktop\\Demo\\InExcelOutExcel\\InExcelOutExcel\\excel\\ExcelToDB.xlsx", "mapTable"); fileSvr.InsetData(dt); } } class FileSvr { /// <summary> /// Excel数据导入Datable /// </summary> /// <param name="fileUrl"></param> /// <param name="table"></param> /// <returns></returns> public System.Data.DataTable GetExcelDatatable(string fileUrl, string table) { //office2007之前 仅支持.xls //const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1';"; //支持.xls和.xlsx,即包括office2010等版本的 HDR=Yes代表第一行是标题,不是数据; const string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; System.Data.DataTable dt = null; //建立连接 OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl)); try { //打开连接 if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed) { conn.Open(); } System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); //获取Excel的第一个Sheet名称 string sheetName = schemaTable.Rows[0]["TABLE_NAME"].ToString().Trim(); //查询sheet中的数据 string strSql = "select * from [" + sheetName + "]"; OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn); DataSet ds = new DataSet(); da.Fill(ds, table); dt = ds.Tables[0]; return dt; } catch (Exception exc) { throw exc; } finally { conn.Close(); conn.Dispose(); } } /// <summary> /// 从System.Data.DataTable导入数据到数据库 /// </summary> /// <param name="dt"></param> /// <returns></returns> public int InsetData(System.Data.DataTable dt) { int i = 0; string lng = ""; string lat = ""; string offsetLNG = ""; string offsetLAT = ""; foreach (DataRow dr in dt.Rows) { lng = dr["LNG"].ToString().Trim(); lat = dr["LAT"].ToString().Trim(); offsetLNG = dr["OFFSET_LNG"].ToString().Trim(); offsetLAT = dr["OFFSET_LAT"].ToString().Trim(); //sw = string.IsNullOrEmpty(sw) ? "null" : sw; //kr = string.IsNullOrEmpty(kr) ? "null" : kr; string strSql = string.Format("Insert into DBToExcel (LNG,LAT,OFFSET_LNG,OFFSET_LAT) Values ('{0}','{1}',{2},{3})", lng, lat, offsetLNG, offsetLAT); string strConnection = ConfigurationManager.ConnectionStrings["ConnectionStr"].ToString(); SqlConnection sqlConnection = new SqlConnection(strConnection); try { // SqlConnection sqlConnection = new SqlConnection(strConnection); sqlConnection.Open(); SqlCommand sqlCmd = new SqlCommand(); sqlCmd.CommandText = strSql; sqlCmd.Connection = sqlConnection; SqlDataReader sqlDataReader = sqlCmd.ExecuteReader(); i++; sqlDataReader.Close(); } catch (Exception ex) { throw ex; } finally { sqlConnection.Close(); } //if (opdb.ExcSQL(strSql)) // i++; } return i; } } }
相关文章推荐
- c#将Excel数据导入到数据库的实现代码
- c#将Excel数据导入到数据库的实现代码(转载)
- c#将Excel数据导入到数据库的实现代码
- c#将Excel数据导入到数据库的实现代码
- c#将Excel数据导入到数据库的实现代码
- [置顶] 关于C++、C#实现EXCEL数据库批量导入数据库万行以上数据效率问题
- asp.net/c#代码实现excel to mssql数据导入
- java代码实现excel数据导入数据库
- C++ 中实现把EXCEL的数据导入数据库(ACCESS、MSSQL等)实例代码
- 20160308 C#代码实现Excel数据导入到SQL Server数据库中
- C# 将Excel数据导入到数据库(实现SQL2000企业管理器导入EXCEL功能)
- asp.net/c#代码实现excel to mssql数据导入
- LS代码导入Excel数据到Domino数据库[B/S]
- larave5.6 将Excel文件数据导入数据库代码实例
- Java实现Excel导入数据库,数据库中的数据导入到Excel
- C#实现将DataGridView中的数据导入到Excel中
- 【我要写框架之导入Excel数据至数据库】——程序实现
- C#数据库数据导入导出系列之四 WinForm数据库导入导出到Excel
- 用Visual Studio(C#) 实现Excel数据导入(映射)
- Java实现Excel导入数据库,数据库中的数据导入到Excel