ASP.NET从excel中导入试题到SQL SERVER 2005数据库

       原先做题库系统时就用就需要这样的功能,当时实现的比较匆忙,最后虽然能导入了但是条件是需要在调试环境中。当时记得寻找了很久没有找到答案,始终没有解决。

       到了现在做在线考试系统也需要从 Excel 中导数据到数据库中,又遇到那个问题,这次因为我负责这一块,并且上次已经对这个代码比较熟悉了,再加上时间也还算充裕,于是推测,猜测,判断。终于给解决了。

       原先的代码是这样的:(导入试题的方法就省略了,这里写出原先出现问题的地方)

         

       在调试的时候不会出错,因为环境就在本机。但是发布之后就出现问题了,不知道是不是 IIS 的设置问题,那个 myExcel.Application.Workbooks.Open() 方法无法执行,一执行就会出错,可能是权限问题。

    把这个方法去掉之后,再次发布就没有问题了。很显然问题在这。

    这个方法其实是从excel 中读取里面有多少个Sheet ,然后遍历所有Sheet 把数据存到数据库中,但是现在方法出错了,要是还想用这个功能的话就需要采用别的方法。

    网上查找了一下,发现一个方法:

           

 

    对比之后发现两种方式的不同之处:

    第一种方式是采用程序的方式,把Excel 当做一个程序来用,首先运行它,然后读出来其中有多少个Sheet

    而第二种方式采用的是读取数据库的方式,只需要连接字符串,连接上数据源即可。然后不需要打开excel ,即可从其中读出需要的数据来。

 

    不过关于第一种方式为什么会出错依然心有疑问,对asp.net 的一些机制还是不是很了解。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值