C# 批量导入数据,速度太慢

求助:读取excel,然后把excel中没有的列在代码中添加进去,最后把生成的新数据插入到数据库。excel格式:我要生成的新表格式:就是要在代码中遍历第一张表,不同的数... 求助: 读取excel,然后把excel中没有的列在代码中添加进去,最后把生成的新数据插入到数据库。
excel格式:

我要生成的新表格式:

就是要在代码中遍历第一张表,不同的数据赋给不同的类型值,这样生成新表;
但是因为数据量太大,所以这个过程很慢,有没有大神帮我改进一下,如何实现这部分,速度才可以变快?

注意:类型值是根据名称来确定的,因为数据量太大,所以不想再excel中手动添加。
展开
 我来答
没见过熊蹦迪哒
2015-02-15 · TA获得超过1411个赞
知道小有建树答主
回答量:880
采纳率:84%
帮助的人:397万
展开全部
不同数据给不同类型?
#首先问下,数据量大的表有没做素引?用实体还是存储过程?
#其次,循环是怎么写的
#类型值是根据名称来确定的,是根据新表还是旧表?(dt["name"]?)
能把代码发来看看?
追问
首先,需要循环第一张表,for(int i=0;i<dt.rows.count;i++)
{
if(dt["名称"] =="某值")

{
类型=“某值值”;

}
}

就是这样,给每条数据都赋值一个类型。 if(dt["名称"] =="某值")中的dt["名称"]是第一张表中的。 就是把第一张表给类型后生产第二张表。
追答
# 用Foreach替换成For,既然你数据量大多,用foreach会更有效率(项少,反之,但是如果为了统一风格,你喜欢)。
# 如果分支很多,使用Switch(据了解,判断多使用switch更快,实际效率没测试过)

foreach(DataRow dr in dt)
{
switch(dr["ColumnName"])
{
case "..." : ……;break

default ……
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式