C# 把Excel(超大)倒入数据库

hecong875 2008-03-25 02:20:42
把一个很大的EXCEL 要如何倒入到数据库

小点的EXCEL是可以倒的!但是文件一大就会没反映无法倒入!  个位不知道有什么好的方法来处理!

      
...全文
62 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xdshen 2008-03-25
  • 打赏
  • 举报
回复
应该都是可以导入的,我用的是一个文件上传控件,然后导入excel。你看看吧
string path = FileUpload1.PostedFile.FileName.ToString();
string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+";Extended Properties=Excel 8.0;";
OleDbConnection oleconn = new OleDbConnection(str);
OleDbCommand olecmd = new OleDbCommand("select * from [sheet1$]", oleconn);
oleconn.Open();
OleDbDataReader olereader = olecmd.ExecuteReader();


SqlConnection conn = new SqlConnection("server=.;database=Northwind;Integrated Security=SSPI");
conn.Open();
SqlDataAdapter ada = new SqlDataAdapter("select * from shippers",conn);
DataSet ds = new DataSet();
ada.Fill(ds,"shippers");
while (olereader.Read())
{
DataRow datarow = ds.Tables["shippers"].NewRow();
datarow["CompanyName"]=olereader.GetValue(1).ToString();
datarow["Phone"]=olereader.GetValue(2).ToString();
ds.Tables["shippers"].Rows.Add(datarow);
}
olereader.Close();
oleconn.Dispose();
oleconn.Close();
SqlCommand cmd = new SqlCommand("insert into shippers(CompanyName,Phone) values (@name,@phone)",conn);
cmd.Parameters.Add("@name",SqlDbType.NVarChar,20,"CompanyName");
cmd.Parameters.Add("@phone",SqlDbType.NVarChar,20,"Phone");
ada.InsertCommand = cmd;
ada.Update(ds,"shippers");
ada.Dispose();
conn.Dispose();
conn.Close();
hecong875 2008-03-25
  • 打赏
  • 举报
回复
晕了! 分忘给了! 明天把分补上(发帖子1天才能加分 分为100)

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧