<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 辦公自動化

    如何把Excel工作表中數據導入數據庫

    時間:2025-04-27 00:11:22 辦公自動化 我要投稿
    • 相關推薦

    如何把Excel工作表中數據導入數據庫

      大家知道要如何把Excel工作表中數據導入數據庫呢?有什么方法呢?下面一起來看看!

      我想至少有這樣兩種比較容易實現的方法:

      1、直接用Sql語句查詢

      2、先用excle中的數據生成xml文件,再把xml導入數據庫

      第一種方法(方法二以后再試),找到聯機叢書里實現此功能的Sql語句如下:

      SELECT* FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="c:Financeaccount.xls";UserID=Admin;Password=;Extendedproperties=Excel5.0')…xactions

      語句是有了,但我還是試了很久,因為各個參數具體該怎么設置它沒有說。Data Source就是excel文件的路徑,這個簡單;UserId、Password和Extended properties這三個屬性我改成了各種各樣的與本機有關的用戶名、密碼以及excel版本都不對,最后用上面例子里的值“User ID=Admin;Password=;Extended properties=Excel 5.0”才成功了,暈啊;最后個“xactions”更是查了很多資料,其實就僅僅是excel文件里所選的工作表名而已,怪我對excel不夠熟悉了,另外注意默認的Sheet1要寫成[Sheet1$]

      最后,看看我成功的測試

      數據庫里建好一個表testTable_1,有5個字段id, name, date, money, content,C盤下book1.xls文件的sheet1工作表里寫好對應的數據并設好數據類型,執行如下插入語句:

      intotestTable_1([name],[date],[money],[content]) Select[姓名],[日期],[金額],[內容] FROMOpenDataSource('Microsoft.Jet.OLEDB.4.0', 'DataSource="C:Book1.xls"; UserID=Admin;Password=;Extendedproperties=Excel5.0')…[Sheet1$]

      select里的列名我一開始用*代替,但發現輸出順序與我預期的不同,是“金額、內容、日期、姓名”,不知道具體有什么規律,就老老實實寫名字了。操作成功

      回過頭來看看市場部的要求,假設在我這張表里實現,可以先判斷如excel里存在與記錄相同的name字段(name要唯一非空)時就刪除記錄,之后再插入,這樣簡單,但自增的id字段會因為插入而改變,那是不行的了。可行的方法是先讀出excel里全部記錄,然后用游標一條條分析,如果存在這個name就更新否則就插入。OK,下次就不用讓他們再對著文檔一條條Update了。

    【如何把Excel工作表中數據導入數據庫】相關文章:

    Access 2007中的數據如何導入Excel文件08-11

    如何手工導入數據庫03-28

    excel表中如何查找重復的數據06-21

    excel表中如何查找重復數據06-12

    Access 2007中的數據怎么導入Excel文件01-24

    excel表中如何求和07-16

    在excel中如何恢復損壞的工作表03-08

    如何在excel表中求和05-24

    如何用excel表中求和04-30

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人