一個根據(jù)數(shù)據(jù)庫鏈接字符串,sql語句 即可將結(jié)果集導(dǎo)出到Excel的工具 分享,支持sqlserver,mysql。

前因

一個月前朋友找到我,讓我?guī)兔ψ鲆粋€根據(jù)sql導(dǎo)出查詢結(jié)果到Excel的工具(之前幫他一個導(dǎo)入Excel然后按其規(guī)則統(tǒng)計數(shù)據(jù)的工具)。
然后扔了我一個SQL語句,瞬間懵比。臥槽。這么多列,我特么得定義這么屬性,改了還得重新改程序(一直用EF)。
于是思考如何忽略列名,進而如何做到通用,做到于我有益,而不是簡單的幫個忙。

如何完成這個需求

Q:程序中根據(jù)SQL查詢出數(shù)據(jù)而不需要關(guān)注有哪些列?
A:將查詢結(jié)果保存到DataTable中然后遍歷
Q:如何將DataTable轉(zhuǎn)換Excel?
A:一搜,一試,可用之
Q:如何保存到本地?
A:待我改改寫日志的方法

使用SqlSugar 4.x 進行數(shù)據(jù)操作

SqlSugar 4.x是一款高性能(達到ADO.NET最高性能水平)、輕量級、支持多庫和人性化語法的ORM,語法方便,入門簡單,功能強大。
對數(shù)據(jù)庫結(jié)構(gòu)沒太多要求,支持多主鍵,多自增列
SqlSugar支