ASP.NET SqlCommandBuilder批量更新Excel/CSV数据方法

SqlCommandBuilder 的自动 SQL 生成能力,真的是 Excel 或 CSV 批量更新时的好帮手。你不用一行行去拼 SQL,省时又省心。像你平时导入表单数据,或者从运营那边拿到成堆 Excel 表的时候,用这个方法就顺手。

SqlCommandBuilder负责自动生成INSERTUPDATEDELETE语句,配合SqlDataAdapterDataTable一起用,简直一气呵成。而且更新时还能开SqlTransaction做事务保障,数据出错了还能回滚,放心多了。

它还考虑了性能问题,设计了一个onceUpdateNumber参数,控制每次更新多少行——数据多的时候就靠它了,内存不至于炸。更新字段用columnsName数组,主键用primaryKeyName指定,这些都写清楚了,不容易出错。

还有一点挺实用,AcceptChangesDuringUpdate设成false,意味着你可以先看一眼数据改了啥,再统一提交。比如先比对一下和原表差异,确认无误后再更新,灵活得。

整个思路就是:用DataTable装数据、用SqlCommandBuilder生成命令、批量、开事务兜底,再加上参数化查询,安全又高效。你平时有批量更新 Excel 的需求,值得一试。

想扩展下功能的,可以顺手看看这些工具或教程:NPOI 导出 ExcelCSV 互转Excel 批量上传。这些工具搭配用,效率会更高。

如果你平时 Excel 或 CSV 比较多,又不想写一堆 SQL,那这个方法还挺值得上手试试的。

docx 文件大小:18.09KB