winform excel导入mysql_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

{

///

/// Excel数据导入Datable

///

///

///

///

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();

}

}

///

/// 从System.Data.DataTable导入数据到数据库

///

///

///

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;

}

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值