国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Excel > 正文

把Excel表中數據導入數據庫

2019-10-25 20:49:56
字體:
來源:轉載
供稿:網友

   這是第二次了,市場部那邊又來要求改數據。他們要改的是數據庫某張表中類似商品價格等的數據,需要改的地方又多,我們上次是靠新來的兄弟一個個給Update進去的,這次老大去教了他們Update語句,把煩人的皮球踢給他們了。但這樣一個個更新很明顯不是辦法,我想通過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工作表里寫好對應的數據并設好數據類型,執行如下插入語句:

  insertintotestTable_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙河市| 九江市| 吴堡县| 宜兰县| 襄垣县| 鹤岗市| 永济市| 涡阳县| 渑池县| 通江县| 安新县| 清镇市| 波密县| 吴忠市| 酒泉市| 柳林县| 南陵县| 抚松县| 浮山县| 陇西县| 封开县| 封丘县| 牙克石市| 女性| 海口市| 玉环县| 县级市| 太保市| 平江县| 开平市| 美姑县| 会宁县| 廊坊市| 永济市| 紫阳县| 河东区| 绥中县| 木里| 阜城县| 绥化市| 花垣县|