导入前提是模板,像楼主说的那种情况,你提供下载模板,让他们按你的模板去做数据,而不是要让系统去适应EXCEL。中国的EXCEL千千万,要适应你适应过来吗?这个一定要坚持。
我做过一个万能导入器,前提也是表是标准的二维表,第一列是列头。至少也得让客户达到这一步。
我实现过N个导入了,所以经验多一些:
简单步骤:用OleDbConnection导入EXCEL到DataTable=====》遍历DataTable生成插入SQL====》用事务把SQL执行。
简单步骤最多也就应付而已,我实际用的步骤是:
1,OleDbConnection导入EXCEL到DataTable,注意要想导入2003以上版本的EXCEL,要安装相应组件。
2,检查必要的列是否存在,就是你数据库中有列名叫A的列,EXCEL也得有相应的对应列(当然不是非也叫A)
3,检查数据类型数据:即数据表里如果A列是数字类型,EXCEL对应列也得检查,
4,检查业务数据:这跟据体业务相关,比如一个人员表中的部门编号为10000,部门表里面必须要有10000这个部门
5,这步导入,2,3,4步都过后,这步导入不能出错,出错了说明2,3,4没做好。