欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【c#将Excel数据导入到数据库的实现代码】,下面是详细的讲解!
c#将Excel数据导入到数据库的实现代码
using 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数据导入到数据库的实现代码的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【页面打印】关于ASP.NET页面打印技术的常用方法
- 【MVC5】MVC 5 第一章 创建MVC 5 web应用程序-net
- 【服务器】asp.net页面状态管理cookie和服务器状
- 如何取消.net后台线程的执行
- 【asp】asp.net 分页链接方法-net-分页链接
- 【采集】asp.net采集网页图片的具体方法-网页-图
- 【ajax】asp.net下ajax.ajaxMethod使用方法-ajaxM
- 【WeakReference】WeakReference(弱引用)让GC需要
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
