标题:[求助]怎么将excel里的数据导入到SQL数据库阿??
只看楼主
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
得分:0 

帮我看看这段代码对吗??

string strPath,FileName;
strPath=File1.PostedFile.FileName;
FileName=strPath.Substring(strPath.LastIndexOf("\\")+1);
if(strPath == "")
{
Response.Write("<script>alert('请先选择文件')</script>");
return;
}
string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + strPath + ";" +
"Extended Properties=Excel 8.0;";

OleDbConnection objConn = new OleDbConnection(sConnectionString);
try
{

objConn.Open();
OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [常规产品清册$]", objConn); //这里的sheet用不用带[]和里面的$阿??
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();

objAdapter1.SelectCommand = objCmdSelect;
DataSet dsolb = new DataSet();
objAdapter1.Fill(dsolb,"常规产品清册"); //这里是写sheet吗??
DataGrid1.DataSource = dsolb.Tables[0].DefaultView;
DataGrid1.DataBind();
}
catch(Exception ee)
{
Response.Write("<script>alert('请先关闭文件')</script>");
return;
}
finally
{
objConn.Close();
}

[此贴子已经被作者于2006-9-6 15:55:32编辑过]


新建的群(C#):23384106 验证注明
2006-09-06 13:22
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
得分:0 

你说的是左下角的页选项上的名字吧?


新建的群(C#):23384106 验证注明
2006-09-06 13:37
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
得分:0 
是的,弄好了没?


[bc09] 犯强汉者,虽远比诛!
2006-09-06 17:16
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
得分:0 
还是不行 你帮我看看我发的代码那里有问题啊????

新建的群(C#):23384106 验证注明
2006-09-06 17:26
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
得分:0 

高手大大我下班了,记得帮我看看代码。
我明天再来看
谢谢了


新建的群(C#):23384106 验证注明
2006-09-06 17:36
飞飞185
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-10-17
得分:0 
("SELECT * FROM [常规产品清册$]", 的{常规产品清册}是sheet
objAdapter1.Fill(dsolb,"常规产品清册"); 这里的是在dataset里的一个表名.
呵呵,不知说的对不对?

欲问行人去那边,眉眼盈盈处。
2006-09-07 09:52
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
得分:0 

问题解决了 谢谢大家 我把正确代码发上来了 不会的可以看看。。

string strPath = File1.PostedFile.FileName;
if(strPath == "")
{
Response.Write("<script>alert('请先选择文件')</script>");
return;
}
string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + strPath + ";" +
"Extended Properties=Excel 8.0;";

// Create connection object by using the preceding connection string.
OleDbConnection objConn = new OleDbConnection(sConnectionString);
try
{

// Open connection with the database.
objConn.Open();

// The code to follow uses a SQL SELECT command to display the data from the worksheet.

// Create new OleDbCommand to return data from worksheet.
OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM[常规产品清册$]", objConn);
/*************************************************************
**********************测试读取单列****************************
OleDbDataReader dr = objCmdSelect.ExecuteReader();
while(dr.Read())
{
Response.Write("产品类别"+dr[2].ToString());
}
dr.Close();
***************************************************************/
// Create new OleDbDataAdapter that is used to build a DataSet
// based on the preceding SQL SELECT statement.
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();

// Pass the Select command to the adapter.
objAdapter1.SelectCommand = objCmdSelect;

// Create new DataSet to hold information from the worksheet.
DataSet dsolb = new DataSet();

// Fill the DataSet with the information from the worksheet.
objAdapter1.Fill(dsolb);

// Bind data to DataGrid control.
DataGrid1.DataSource = dsolb;
DataGrid1.DataBind();
}
catch(Exception ee)
{
Response.Write("<script>alert('请先关闭文件')</script>");
return;
}
finally
{
// Clean up objects.
objConn.Close();
}


新建的群(C#):23384106 验证注明
2006-09-07 10:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-88244-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023555 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved