問題背景 在我們實際的程序開發、維護的過程中,很多時候都要和Excel打交道。 因為用戶的數據很多時候是Excel存儲的。 公司維護項目的時候,經常要幫客戶導入Excel數據,這些數據很多,零 碎,而且數據不是很規范。我們經常需要整理過的Excel表變成Sql語句。最 后,把Sql語句在客戶的服務器上執行。 客戶要求更新的時候很多多,甚至占了比開發還要長的時間。但我一直 沒有找到比較理想的解決方法。下面是我的一些比較無奈的解決方法,為的 是拋磚引玉。 解決方法 1, 把Excel通過DTS包導入到數據庫中,再通過軟件生成Sql腳本。以前用過 QueryCommander。可惜生成的Sql語句很難達到要求。 問題一:是不夠靈活。比方用戶的數據不符合要求,然后要到數據 庫里更改,數據庫的編輯能力是很差的。 問題二:轉換成你想要的Sql語句很難。(可能我沒發現軟件) 2, 通過Excel中的公式來生成Sql語句。 問題一:一旦表中的某個字段是關聯到另外的表,就比較麻煩 問題二:要借助很多其它工具,數據庫查詢工具,UE等。 3, 期待您更好的方法。。。 在工作中,我用的一般用的是第二種方法,下面我就介紹下第二種方法 簡單示例(Excel變成Sql) 我這里的演示要完成的就是把它們轉變成一條條如下圖Sql INSERT INTO logistic_basestation ( physicalbasestation_id, logisticbasestation_name, basestation_type,project ) values ( 'GZYW01587' ,'體育西站(地鐵3號)', '宏蜂窩', '12' ) 如何利用Excel的公式生成SQL語句 首先,我們可以手工創建一條如上圖一樣的Sql語句。 然后,SQL查詢分析器中執行,確定是正確的語句。 再利用Excel單元格中(A1,B1,C1,D1)的數據來 代替上圖中具體的值具體操作是在單元格E2的公式欄 輸入下面的公式。 " INSERT INTO logistic_basestation ( physicalbasestation_id, logisticbasestation_name, basestation_type, project ) values( ( '"&A2&"','"&B2&"','"&C2&"','"&D2&"' ) " 即可以得到一條插入數據的Sql語句。 把鼠標移到寫了公式的單元格的右下角,當單元格有下角變成, 鼠標變成瘦瘦的十字架的時候,單擊鼠標左健往下拉,這樣就生成了所有的五 條Sql語句。看不怎么明白的話,可以看看