Office编程(一)C#读取Excel并显示出来,然后存入数据库

时间:2022-06-21 11:16:55

直接从Excel中读取出来,然后对"供应商" select distinct,然后分别对每个供应商做表.

代码如下:

Office编程(一)C#读取Excel并显示出来,然后存入数据库Office编程(一)C#读取Excel并显示出来,然后存入数据库Code


这几天又要读excel, 回顾自己写的这个东西,问题很大条。
首先,IMEX不能解决所有的问题,当Jet Provider去扫描excel的列,最后决定了是什么类型以后,这个东西就不好使啦。
其次,select语句里面有hardcode,谁能保证每个excel里的表都叫做sheet1呢?
再有就是ToDataBase写的非常二,不知道当时怎么想的。。。
OK,全部改正。
首先,IMEX=1要写,但是要解决问题,还要进注册表:HKEY_LOCAL_MACHINE-->SOFTWARE-->Microsoft-->Jet-->4.0-->Engines-->Excel
修改里面的TypeGuessRows值为0,这个值决定了JET在扫描excel时要扫描多少行,为0时扫描全部,各位看官,如果excel特别大,设成0你就完了,哈哈
剩下的两条我改了代码:

Office编程(一)C#读取Excel并显示出来,然后存入数据库Office编程(一)C#读取Excel并显示出来,然后存入数据库Code


因为我的excel里只有一个sheet,所以我就硬编码1了,大家可以很容易扩展为多个sheet多个表。

本文着重解决excel导入数据库的问题,欢迎讨论。欢迎拍砖。