|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
whh
註冊時間: 2010-04-16 文章: 166
第 1 樓
|
發表於: 星期二 十月 07, 2014 2:46 pm 文章主題: 請問有一份 xlsx 檔案,如何無痛無腦 import 進VFP的DB |
|
|
http://i.imgur.com/u3QHFuK.png?1
因為會有跨年的資料,所以會要拆成兩筆~@@
1. import from IMPORT from d:\xxx.xlsx TYPE xl8
VFP 9會直接掛點
2. 先將Excle轉成,非常舊版的 Excle (95)才能順利匯入
But.... 日期會變成很奇怪的數字......
↑
所以以上兩個都不適用
真的不行的話,我現在是用一招最爛
1. 人工先在Oracle建好 Table
2. 人工Excle 複製 → Pl/Sql → 貼上 Commit 到 Oracle DB 後
3. Oracle ODBC to VFP
因為我要做這件事情
代碼: |
EX:: 50 | 2013.10 | 2014.3
↓
1 2 3 4 5 6 7 8 9 10 11 12
2013 50 50 50
2014 50 50 50
|
程式寫是寫好了...只差無腦轉到我的VFP DB
目前手動轉感覺很智障>.< |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 2 樓
|
|
回頂端 |
|
|
whh
註冊時間: 2010-04-16 文章: 166
第 3 樓
|
發表於: 星期二 十月 07, 2014 4:33 pm 文章主題: |
|
|
garfield 大大
可以請問範例嗎 T.T
AppendFromExcel(m.lcXlsFile, "Sheet1", "MyTable", "column1,column2,column3", "Recnum Is Not Null", "field1,field2,field3", "field1 > 14000")
EX:
AppendFromExcel("D:\Oops.xlsx", 分頁名, 我猜是最後轉到VFP的Table名稱, 疑惑1, 疑惑2, 疑惑3, 疑惑4) |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 4 樓
|
發表於: 星期三 十月 08, 2014 9:54 am 文章主題: |
|
|
? AppendFromExcel(m.lcXlsFile, sheet名字一定要有, 要將資料存在那個TABLE, "在EXCEL欄位的名稱", "抓Excel資料時的條件", "指定TABLE的某些欄位名稱", "")
? CreateTableFromExcel(GETFILE(),'sheet1','zz') &&--自動建立table: zz
作者提供的是原始碼,也有註解, 最少也要看一下提昇功力.
FUNCTION AppendFromExcel(tcXLSFile, tcSheet, tvWorkarea, tcExcelFieldList, tcExcelWhereExpr, tcTableFieldList, tcTableForExpr, tlNoHeaderRow)
* PARAMETER Information
* tcXLSFile := a string specifying an excel file (*.xls, *.xlsx, *.xlsm, *.xlsb) on disk
* tcSheet := a string specifying the name of a worksheet within the excel workbook (can also be a range Sheet1$A1:C20 for instance)
* tvWorkarea [optional] := the Alias, Work Area, or File Name of the table you want the worksheet result set appended to (default is currently selected Alias)
* tcExcelFieldList [optional] := a comma delimited list of columns you want from the worksheet (default is '*' - all columns)
* tcExcelWhereExpr [optional] := a valid SQL Where clause to be used when querying the worksheet (default is '1=1')
* tcTableFieldList [optional] := a comma delimited list of fields you want the worksheet result set inserted into (default is '*' - all fields)
* tcTableForExpr [optional] := a valid VFP Where clause to be used when querying the worksheet result set (cursor) (default is '.T.')
* tlNoHeaderRow [optional] := pass .T. if the worksheet does not contain a header row, .F. is the default which specifies that a header row does exist _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
goodnight
註冊時間: 2008-10-13 文章: 472 來自: 台南市
第 5 樓
|
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|