ASP.NET(C#),怎么实现将excel数据导入SQL2005数据库中? 10

请各位大侠帮帮忙:我做的是一个学生信息管理系统,需要将学生信息(学号、姓名、出生年月)批量添加到People数据表(Login、Author、Pass)中,跪求源代码及其... 请各位大侠帮帮忙:我做的是一个学生信息管理系统,需要将学生信息(学号、姓名、出生年月)批量添加到People数据表(Login、Author、Pass)中,跪求源代码及其提示 展开
 我来答
百度网友a2988ce
2013-04-08 · TA获得超过223个赞
知道小有建树答主
回答量:302
采纳率:100%
帮助的人:178万
展开全部

简单!库上右键  ==> 任务==>导入数据  出来向导    在数据源里选择EXCEL   下面可以选择EXECEL版本 EXCEL的路径



哦哦哦 是用代码啊 !   用 NPOI 吧  此组件为数据库表和外部EXCEL的中间物! 

此例为将EXCEL转为为DataTable 

你可以在写入TABLE的时候把数据写入数据库

SimpleShi
2013-04-07 · TA获得超过371个赞
知道小有建树答主
回答量:396
采纳率:0%
帮助的人:298万
展开全部
有些过一个现成的东西,就是你说的这个需求,全给你贴出来,你自己看吧,哪里有疑问,在问我
public void BindData(DataSet Ds) {
try
{
tempTable = CreatTable(tempTable);
currPage = AspNetPager1.CurrentPageIndex;
this.AspNetPager1.RecordCount = Ds.Tables[0].Rows.Count;
AspNetPager1.CustomInfoHTML = "<span class='font01a'>TOTAL:<b>" + AspNetPager1.RecordCount.ToString() + "</b> RECODES,DESPLAY: ";
AspNetPager1.CustomInfoHTML += "<b>" + ((currPage - 1) * AspNetPager1.PageSize + 1) + "" + "-";
if (AspNetPager1.RecordCount < currPage * AspNetPager1.PageSize)
{
AspNetPager1.CustomInfoHTML += (AspNetPager1.RecordCount).ToString() + "</b></span>";
}
else
{
AspNetPager1.CustomInfoHTML += (currPage * AspNetPager1.PageSize).ToString() + "</b></span>";
}

if (Ds != null && Ds.Tables[0].Rows.Count > 0) {
models.Visible = true;

for (int i = (currPage - 1) * AspNetPager1.PageSize; i < currPage * AspNetPager1.PageSize; i++) {
if (i <= Ds.Tables[0].Rows.Count - 1)
{
DataRow dr = tempTable.NewRow();
dr["BOLNo"] = Ds.Tables[0].Rows[i][0].ToString().ToUpper();
dr["RMANo"] = Ds.Tables[0].Rows[i][1].ToString().ToUpper();
dr["RMAIssualDate"] = Ds.Tables[0].Rows[i][2].ToString().ToUpper();
dr["CustomerName"] = Ds.Tables[0].Rows[i][3].ToString().ToUpper();
dr["Models"] = Ds.Tables[0].Rows[i][5].ToString().ToUpper();
dr["QTYRequest"] = Ds.Tables[0].Rows[i][6].ToString().ToUpper();
tempTable.Rows.Add(dr);
}
}
}
else
{
DataRow dr = tempTable.NewRow();
dr["BOLNo"] = 0;
tempTable.Rows.Add(dr);
}
GridData.DataSource = tempTable;
GridData.DataBind();
}
catch (Exception ex)
{
lbl_Msg.Text = "Please Check Excel Content,Error Message: " + ex.Message;
}
}
/// <summary>
/// 读取Excel表格
/// </summary>
/// <param name="Path"></param>
/// <returns></returns>
public DataSet ReadExcel(string Path, string ExtName)
{
try
{
string strConn = "";
DataSet ds = new DataSet();
if (ExtName.ToUpper() == "XLS")
{
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
}
else if (ExtName.ToUpper() == "XLSX")
{
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
}
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
DataTable schemaTable = OleConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1
string sql = "SELECT * FROM [" + tableName + "]";//可更改Sheet名称,比如sheet2,等等
OleDbDataAdapter myData = new OleDbDataAdapter(sql, OleConn);
myData.Fill(ds);//填充数据
OleConn.Close();
return ds;
}
catch (Exception ex)
{
lbl_Msg.Text = "Excel File Error, Error Information: " + ex.Message;
return null;
}
}
protected void btn_Insert_Click(object sender, EventArgs e)
{
try
{
if (ViewState["Ds"] != null)
{
DataSet Ds = (DataSet)ViewState["Ds"];
if (Ds != null && Ds.Tables[0].Rows.Count > 0)
{
List<T_VenderReturn> listvender = new List<T_VenderReturn>();
List<T_ReturnModel> listmode = new List<T_ReturnModel>();
for (int i = 0; i < Ds.Tables[0].Rows.Count; i++)
{
if (Ds.Tables[0].Rows[i][1].ToString() != string.Empty)
{
T_VenderReturn vender = new T_VenderReturn();
vender.F_BOLNo = Ds.Tables[0].Rows[i][0].ToString().ToUpper();
vender.F_RMANo = Ds.Tables[0].Rows[i][1].ToString().ToUpper();
vender.F_RMAIssuedDate = Convert.ToDateTime(FormatDate.Instance.CheckDate(Ds.Tables[0].Rows[i][2].ToString()));
vender.F_CustomerName = Ds.Tables[0].Rows[i][3].ToString().ToUpper();
vender.F_ReturnType = "Company Return";
vender.F_CreatDate =Convert.ToDateTime( DateTime.Now.ToShortDateString());
listvender.Add(vender);
}
}
if (VenderReturnService.Instance.AddVender(listvender))
{
for (int j = 0; j < Ds.Tables[0].Rows.Count; j++)
{
T_ReturnModel mode = new T_ReturnModel();
mode.F_VenderID = VenderReturnService.Instance.GetVenderIDByRMANo(Ds.Tables[0].Rows[j][4].ToString());
mode.F_ModelNo = Ds.Tables[0].Rows[j][5].ToString();
mode.F_QtyRequest = int.Parse(Ds.Tables[0].Rows[j][6].ToString());
mode.F_ReceiveDate = Convert.ToDateTime( DateTime.Now.ToShortDateString());
listmode.Add(mode);
}
VenderReturnService.Instance.AddVenderModel(listmode);
Response.Redirect("Returnlist.aspx");
}

} }
}
catch (Exception ex) {
LogCore.LogControl.WriteError("Add To DataBase:", ex.Message);
lbl_Msg.Text = ex.Message;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
c4218186
2013-04-07
知道小有建树答主
回答量:75
采纳率:0%
帮助的人:148万
展开全部
提示一下:1.使用OLEDB方式读取EXCEL文件,并验证文件信息;
2.将1中获得的数据,插入sql数据库中;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
13812991525
2013-04-06 · TA获得超过231个赞
知道答主
回答量:107
采纳率:0%
帮助的人:52.1万
展开全部
我这里有个通用的把excel数据导入数据库的方法不知道合不合适
追问
能发到我的邮箱(tlj40912107@163.com)里面吗?谢谢你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d4d2ac2
2013-04-07 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:138万
展开全部
建议你使用PageOffice,很简单的就能帮你解决这个问题啊,网上搜有很多他的示例代码,你搜搜看,参考一下啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式