转:C# 导入EXCEL到sql server数据库(Web开发)
2008-10-09 16:23
351 查看
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using My_Class;
using System.Data.SqlClient;
using System.IO;
public partial class daoru : System.Web.UI.Page
{
protected static string lj = "";
protected static string getErrMsg = "";
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string filePath = "";
if (FJ.PostedFile.FileName == "")
{
Response.Write("<script language=javascript>alert('请选择要上传的文件!');</script>");
return;
}
else
{
filePath = FJ.PostedFile.FileName;//取得文件路径
string sql_excel = "select 序号,单位名称,企业人员分布,姓名,性别,出生日期,身份证号,工作时间,工龄,个人身份,薪酬,学历,技术等级名称,级别,工种,持证上岗情况, 技术岗位人员所占比例,取得资格证书时间,颁发证书单位 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=" + filePath + "',ygxxb$)";
DataSet ds = new DataSet();
ds = conn.executeQuery(sql_excel);
DataTable dt = new DataTable();
dt = ds.Tables[0];
GridView1.DataSource = dt;
GridView1.DataBind();
if (ds.Tables[0].Rows.Count != 0)
{
string sql = "";
//////////////链接数据库////////////////////////////
SqlConnection myConnection = new SqlConnection();
string strConn = System.Configuration.ConfigurationSettings.AppSettings["sqlserver"];
myConnection.ConnectionString = strConn;
SqlCommand da = new SqlCommand();
try
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sql = "insert into ygxx(qy_id,bm_id,name,sex,birthday,card,work_time,gongling,grsf,xc,culture,dj_name,zd_id,gz_id,sfcz,szbl,qdzg_time,bfdw,xh) values ('" + ds.Tables[0].Rows[i]["单位名称"].ToString() + "','" + ds.Tables[0].Rows[i]["企业人员分布"].ToString() + "','" + ds.Tables[0].Rows[i]["姓名"].ToString() + "','" + ds.Tables[0].Rows[i]["性别"].ToString() + "','" + ds.Tables[0].Rows[i]["出生日期"].ToString() + "','" + ds.Tables[0].Rows[i]["身份证号"].ToString() + "','" + ds.Tables[0].Rows[i]["工作时间"].ToString() + "','" + ds.Tables[0].Rows[i]["工龄"].ToString() + "','" + ds.Tables[0].Rows[i]["个人身份"].ToString() + "','" + ds.Tables[0].Rows[i]["薪酬"].ToString() + "','" + ds.Tables[0].Rows[i]["学历"].ToString() + "','" + ds.Tables[0].Rows[i]["技术等级名称"].ToString() + "','" + ds.Tables[0].Rows[i]["级别"].ToString() + "','" + ds.Tables[0].Rows[i]["工种"].ToString() + "','" + ds.Tables[0].Rows[i]["持证上岗情况"].ToString() + "','" + ds.Tables[0].Rows[i]["技术岗位人员所占比例"].ToString() + "','" + ds.Tables[0].Rows[i]["取得资格证书时间"].ToString() + "','" + ds.Tables[0].Rows[i]["颁发证书单位"].ToString() + "','" + ds.Tables[0].Rows[i]["序号"].ToString() + "')";
da = new SqlCommand(sql, myConnection);
if (da.Connection.State.ToString() == "Closed")
{
da.Connection.Open();
}
da.ExecuteNonQuery();
}
}
catch (Exception ex)
{
getErrMsg = ex.Message.ToString();
Response.Write(ex.Message.ToString());
}
finally
{
da.Connection.Close();
da = null;
}
if (getErrMsg == "" || getErrMsg == null)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('导入成功!')</script>");
return;
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('导入失败!')</script>");
return;
}
}
}
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Redirect("http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath.ToString() + "/module" + "/FileFlow.XLS");//取得文件路径
}
}
下面是将数据读入到dataset
public static DataSet CreateDataSource(string filePath)
{
try
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + filePath + ";" +
"Extended Properties=\"Excel 8.0;IMEX=1;\"";//连接
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
string tableName = schemaTable.Rows[0][2].ToString().Trim();//得到excel表名
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [" + tableName + "]", strConn);//查找excel数据
DataSet myDataSet = new DataSet();//定义数据
myCommand.Fill(myDataSet);
conn.Close();
return myDataSet;
}
catch
{
throw;
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using My_Class;
using System.Data.SqlClient;
using System.IO;
public partial class daoru : System.Web.UI.Page
{
protected static string lj = "";
protected static string getErrMsg = "";
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string filePath = "";
if (FJ.PostedFile.FileName == "")
{
Response.Write("<script language=javascript>alert('请选择要上传的文件!');</script>");
return;
}
else
{
filePath = FJ.PostedFile.FileName;//取得文件路径
string sql_excel = "select 序号,单位名称,企业人员分布,姓名,性别,出生日期,身份证号,工作时间,工龄,个人身份,薪酬,学历,技术等级名称,级别,工种,持证上岗情况, 技术岗位人员所占比例,取得资格证书时间,颁发证书单位 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=" + filePath + "',ygxxb$)";
DataSet ds = new DataSet();
ds = conn.executeQuery(sql_excel);
DataTable dt = new DataTable();
dt = ds.Tables[0];
GridView1.DataSource = dt;
GridView1.DataBind();
if (ds.Tables[0].Rows.Count != 0)
{
string sql = "";
//////////////链接数据库////////////////////////////
SqlConnection myConnection = new SqlConnection();
string strConn = System.Configuration.ConfigurationSettings.AppSettings["sqlserver"];
myConnection.ConnectionString = strConn;
SqlCommand da = new SqlCommand();
try
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sql = "insert into ygxx(qy_id,bm_id,name,sex,birthday,card,work_time,gongling,grsf,xc,culture,dj_name,zd_id,gz_id,sfcz,szbl,qdzg_time,bfdw,xh) values ('" + ds.Tables[0].Rows[i]["单位名称"].ToString() + "','" + ds.Tables[0].Rows[i]["企业人员分布"].ToString() + "','" + ds.Tables[0].Rows[i]["姓名"].ToString() + "','" + ds.Tables[0].Rows[i]["性别"].ToString() + "','" + ds.Tables[0].Rows[i]["出生日期"].ToString() + "','" + ds.Tables[0].Rows[i]["身份证号"].ToString() + "','" + ds.Tables[0].Rows[i]["工作时间"].ToString() + "','" + ds.Tables[0].Rows[i]["工龄"].ToString() + "','" + ds.Tables[0].Rows[i]["个人身份"].ToString() + "','" + ds.Tables[0].Rows[i]["薪酬"].ToString() + "','" + ds.Tables[0].Rows[i]["学历"].ToString() + "','" + ds.Tables[0].Rows[i]["技术等级名称"].ToString() + "','" + ds.Tables[0].Rows[i]["级别"].ToString() + "','" + ds.Tables[0].Rows[i]["工种"].ToString() + "','" + ds.Tables[0].Rows[i]["持证上岗情况"].ToString() + "','" + ds.Tables[0].Rows[i]["技术岗位人员所占比例"].ToString() + "','" + ds.Tables[0].Rows[i]["取得资格证书时间"].ToString() + "','" + ds.Tables[0].Rows[i]["颁发证书单位"].ToString() + "','" + ds.Tables[0].Rows[i]["序号"].ToString() + "')";
da = new SqlCommand(sql, myConnection);
if (da.Connection.State.ToString() == "Closed")
{
da.Connection.Open();
}
da.ExecuteNonQuery();
}
}
catch (Exception ex)
{
getErrMsg = ex.Message.ToString();
Response.Write(ex.Message.ToString());
}
finally
{
da.Connection.Close();
da = null;
}
if (getErrMsg == "" || getErrMsg == null)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('导入成功!')</script>");
return;
}
else
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script language='Javascript'>alert('导入失败!')</script>");
return;
}
}
}
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Redirect("http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath.ToString() + "/module" + "/FileFlow.XLS");//取得文件路径
}
}
下面是将数据读入到dataset
public static DataSet CreateDataSource(string filePath)
{
try
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + filePath + ";" +
"Extended Properties=\"Excel 8.0;IMEX=1;\"";//连接
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
string tableName = schemaTable.Rows[0][2].ToString().Trim();//得到excel表名
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [" + tableName + "]", strConn);//查找excel数据
DataSet myDataSet = new DataSet();//定义数据
myCommand.Fill(myDataSet);
conn.Close();
return myDataSet;
}
catch
{
throw;
}
}
相关文章推荐
- C#实现使用form上传Excel文件,导入Excel数据到SQL SERVER数据库
- C#通过反射来动态创建类对象并调用相关泛型函数(Excel数据自动导入到SQL Server数据库)
- 使用C#将Excel文件中数据导入SQL Server数据库
- 20160308 C#代码实现Excel数据导入到SQL Server数据库中
- C# 导入EXCEL到sql server数据库
- C# 导入EXCEL到sql server数据库
- [C#] 将DataSet内容导入到Excel (矩阵区域导出)
- c#excel导入datagridview
- C# 之 EXCEL导入导出
- C#导入导出数据到Excel的通用类代码
- C#导入excel重写
- C# excel数据导入
- C# Excel导入、导出
- DataGrid中的数据导入到Word和Excel_C#
- C# Excel导入导出(一)
- C#操作Excel(导入导出)
- 把EXCEL数据导入到SQL SERVER数据库中
- C# 导入excel数据,解决关闭excel后不能释放资源的问题
- C#导入excel遇到的问题
- 使用C#导入导出数据到Excel