ASP.NET上传大数据EXCEL遇到的问题

xiafei110001 2011-06-24 04:59:29
最近一个项目,excel上传致数据库,通过com组件上传(就是Excel.Worksheet),先将excel烤致服务器,然后上传数据。他是每一行(30列)每个格子读取,判断(通过数据库)然后上传。
客户那操作时容易死掉(150行时),现在优化完全没办法,我估计就是读取一行一列的时候要的时间多,既然文件上传至服务器那是否可以通过多线程或线程池来加快速度?
大家谁可以给我个例子看看
...全文
110 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiafei110001 2011-06-24
  • 打赏
  • 举报
回复
这个方法不错,以前也用过
但是现在几千行的代码通过格子来读总不能改掉了
[Quote=引用 12 楼 wxr0323 的回复:]
转换DataTable 写存储过程插入


C# code
DataTable Excel_UserInfo = new DataTable();
string strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileInfo.FullName + ";" + "Extended Properties……
[/Quote]
子夜__ 2011-06-24
  • 打赏
  • 举报
回复
转换DataTable 写存储过程插入

 DataTable Excel_UserInfo = new DataTable();
string strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileInfo.FullName + ";" + "Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1;\"";
string strExcel = "select * from [sheet1$]";

using (OleDbDataAdapter adaptor = new OleDbDataAdapter(strExcel, strConn))
{
DataSet ds = new DataSet();
adaptor.Fill(ds);
Excel_UserInfo = ds.Tables[0];
}
xiafei110001 2011-06-24
  • 打赏
  • 举报
回复
现在的情况就是分了几个层,有的地方代码达到几千行,


就是想问 操作通过多线程是否可以
小童 2011-06-24
  • 打赏
  • 举报
回复
xiafei110001 2011-06-24
  • 打赏
  • 举报
回复
看来你测试了,本地测试网络比他们好,就算1000条65s,那4500条就是5分钟了吧?
没辙啊
[Quote=引用 7 楼 xiafei110001 的回复:]
关键是客户那反应慢,就认为死掉了,难道就没优化的地方?

引用 6 楼 ranen2010 的回复:
1000条数据,65s,应该有30列吧,没有你说的那么夸张
[/Quote]
xiafei110001 2011-06-24
  • 打赏
  • 举报
回复
客户端貌似很容易实现,大不了 加进度条。但是我是bs结构。都是一个方法里执行到底
[Quote=引用 5 楼 ranen2010 的回复:]

[/Quote]
xiafei110001 2011-06-24
  • 打赏
  • 举报
回复
关键是客户那反应慢,就认为死掉了,难道就没优化的地方?
[Quote=引用 6 楼 ranen2010 的回复:]
1000条数据,65s,应该有30列吧,没有你说的那么夸张
[/Quote]
小童 2011-06-24
  • 打赏
  • 举报
回复
1000条数据,65s,应该有30列吧,没有你说的那么夸张
小童 2011-06-24
  • 打赏
  • 举报
回复
小童 2011-06-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiafei110001 的回复:]
哥哥 看清楚啊,150*30 =4500,每一列里都有数据库判断 ,实在没辙了

引用 1 楼 ranen2010 的回复:
Excel.WorkSheet慢归慢,但是也不可能150条数据就死掉吧
[/Quote]
30列很多吗?
xiafei110001 2011-06-24
  • 打赏
  • 举报
回复
不是吧,难道就这样沉了,各位大牛们 赶紧的帮帮我
xiafei110001 2011-06-24
  • 打赏
  • 举报
回复
哥哥 看清楚啊,150*30 =4500,每一列里都有数据库判断 ,实在没辙了
[Quote=引用 1 楼 ranen2010 的回复:]
Excel.WorkSheet慢归慢,但是也不可能150条数据就死掉吧
[/Quote]
小童 2011-06-24
  • 打赏
  • 举报
回复
Excel.WorkSheet慢归慢,但是也不可能150条数据就死掉吧

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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