业务背景:
经常接到客户的类似需要,客户丢给公司内部人员一个excel,之后需要查询组装上线的绑定数据或者包装数据,也没有一个好的界面给用户查询
解决方案:
1.写SQL脚本,开始拼接SQL,之后耗时耗力;
2.在程序中使用文本输入框的字符是有限的,对于5万以上的数据无能为力;
全新解决方案:
SqlSugar(ORM)+NPOI+sqlBulk(针对大数据(10万条以上)的情况下)
优点:
1.SqlSugar(ORM)提供了与数据库交互的接口,而且很好的避免sql注入和sql错误;上手特别快,基本看一下官方文档和例子差不多就能会;此ORM是开源的,很多.NET的大厂都在使用
SqlSuagr官网地址 :http://www.codeisbug.com/Home
2.NPOI提供了对文档的操作方法,而且避免了不安装微软excel特别版本的尴尬,具体封装方法见MESCommon
3.sqlbulk提供了对excel文档大批量数据的操作,插入100万条数据到数据库大约需要30S;
对大批量数据操作性能比较文档:
代码演示地址 :https://blog.csdn.net/baidu_29047977/article/details/90515682
3.SqlSugar是一款很好用的Orm框架,在某些性能上,比微软的EF框架还优越
注意事项
1.对于数据较大的操作,尽量别用For循环;
2.对于数据批量查询的操作,尽量使用中间表;