|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
aaron_liang
註冊時間: 2008-10-06 文章: 3
第 1 樓
|
發表於: 星期一 十月 06, 2008 9:08 am 文章主題: 急!!!如何讓vfp6.0匯入到excel的時間能夠縮短呢? |
|
|
各位大大您們好:
我使用vfp6.0採用下列的方式匯入到excel,而excel共有6個page須匯入,但其中[sales]因為有25000筆資料,所以光是匯入這一個page就花了50分鐘,請教各位大大有沒有什麼方法能夠縮短匯入的時間呢?感激不盡∼
oleApp = Createobject("Excel.Application")
oleApp.Visible=.F.
oleApp.Workbooks.Open("C:\Billing\樣板\TAB.XLS")
oleApp.Sheets("Summary").Select
SELECT TAB_39
j=Reccount()-1
FOR I=0 To j
GO I+1
oleApp.Cells(3+I,1).Value=Alltrim(TAB_39.收費年月)
oleApp.Cells(3+I,4).Value=TAB_39.計費數量
oleApp.Cells(3+I,6).Value=TAB_39.應請款金額
ENDFOR
oleApp.Sheets("Sales").Select
SELECT TAB_25
j=Reccount()-1
FOR I=0 To j
GO I+1
oleApp.Cells(3+I,1).Value=Alltrim(TAB_25.訂單日期)
oleApp.Cells(3+I,2).Value=Alltrim(TAB_25.預計到貨日)
oleApp.Cells(3+I,3).Value=Alltrim(TAB_25.送貨日期)
oleApp.Cells(3+I,4).Value=Alltrim(TAB_25.訂單編號)
oleApp.Cells(3+I,5).Value=Alltrim(TAB_25.客戶代號)
oleApp.Cells(3+I,6).Value=Alltrim(TAB_25.客戶簡稱)
oleApp.Cells(3+I,7).Value=Alltrim(TAB_25.出貨倉庫)
oleApp.Cells(3+I,.Value=Alltrim(TAB_25.客戶單號1)
oleApp.Cells(3+I,9).Value=Alltrim(TAB_25.客戶單號2)
oleApp.Cells(3+I,10).Value=Alltrim(TAB_25.送貨地址)
oleApp.Cells(3+I,11).Value=Alltrim(TAB_25.郵遞區號)
oleApp.Cells(3+I,12).Value=Alltrim(TAB_25.送貨區域)
oleApp.Cells(3+I,13).Value=Alltrim(TAB_25.裝載編號)
oleApp.Cells(3+I,14).Value=Alltrim(TAB_25.品項代號)
oleApp.Cells(3+I,15).Value=Alltrim(TAB_25.客戶品號)
oleApp.Cells(3+I,16).Value=Alltrim(TAB_25.中文名稱)
oleApp.Cells(3+I,17).Value=TAB_25.每箱PK數
oleApp.Cells(3+I,1.Value=TAB_25.每箱M3數
oleApp.Cells(3+I,19).Value=TAB_25.每箱KG數
oleApp.Cells(3+I,20).Value=TAB_25.每箱TC數
oleApp.Cells(3+I,21).Value=TAB_25.每板箱數
oleApp.Cells(3+I,22).Value=TAB_25.出貨PK數
oleApp.Cells(3+I,23).Value=TAB_25.出貨CS數
oleApp.Cells(3+I,24).Value=TAB_25.出貨總重
oleApp.Cells(3+I,25).Value=TAB_25.出貨才積
oleApp.Cells(3+I,26).Value=TAB_25.計費才積
oleApp.Cells(3+I,27).Value=TAB_25.計費單價
oleApp.Cells(3+I,2.Value=TAB_25.應收金額
oleApp.Cells(3+I,29).Value=TAB_25.計費金額
oleApp.Cells(3+I,30).Value=TAB_25.min_chg
oleApp.Cells(3+I,31).Value=Alltrim(TAB_25.訂單性質)
oleApp.Cells(3+I,32).Value=TAB_25.緊急金額
oleApp.Cells(3+I,33).Value=TAB_25.重送次數
oleApp.Cells(3+I,34).Value=TAB_25.重送金額
oleApp.Cells(3+I,35).Value=Alltrim(TAB_25.是否加工)
oleApp.Cells(3+I,36).Value=TAB_25.加工單價
oleApp.Cells(3+I,37).Value=TAB_25.加工金額
oleApp.Cells(3+I,3.Value=Alltrim(TAB_25.備註)
oleApp.Cells(3+I,39).Value=Alltrim(TAB_25.交通公司)
oleApp.Cells(3+I,40).Value=Alltrim(TAB_25.司機)
oleApp.Cells(3+I,41).Value=Alltrim(TAB_25.訂單類型)
ENDFOR
oleApp.Sheets("Summary").Select
oleApp.ActiveWorkbook.SaveAs("C:\Billing\TAB_Billing_"+m.截止日期_08+".XLS")
oleApp.Workbooks.Close
oleApp.Quit |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 2 樓
|
發表於: 星期一 十月 06, 2008 9:12 am 文章主題: |
|
|
先將 table copy to xls
再開啟 excel 表,
直接在 2 個 excel 表之間 剪貼. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
aaron_liang
註冊時間: 2008-10-06 文章: 3
第 3 樓
|
發表於: 星期一 十月 06, 2008 9:14 am 文章主題: |
|
|
可是筆數太多vfp6.0,好像不能copy那麼多筆數~ |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 4 樓
|
發表於: 星期一 十月 06, 2008 10:43 am 文章主題: |
|
|
一樣的方法.
你可以分多次copy極限筆數到xls
再貼到同一張sheet ,
這樣就可以解決筆數的限制. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
aaron_liang
註冊時間: 2008-10-06 文章: 3
第 5 樓
|
發表於: 星期一 十月 06, 2008 11:01 am 文章主題: |
|
|
謝謝您~ ^ ^ |
|
回頂端 |
|
|
jerryfly
註冊時間: 2004-02-26 文章: 12 來自: kee long
第 6 樓
|
發表於: 星期三 十月 15, 2008 8:39 am 文章主題: |
|
|
copy to c:\data\sh1 fox2x
開啟excel(任意版本都可)
直接開啟 c:\data\hhh.dbf
在作複製貼上的動作即可 |
|
回頂端 |
|
|
tigerlee39y
註冊時間: 2007-11-26 文章: 132 來自: taipei
第 7 樓
|
發表於: 星期四 十月 16, 2008 3:10 am 文章主題: |
|
|
我考慮了一下基本需求,為何要將25000這麼多資料 copy到 excel
做備份? 不可能,由excel印表好像也不是,到底是為什麼?
另類思考一下:
如果是要計算?為何不在fox中計算再把總結copy到excel無論是繪圖還是啥啥的是否比較快,也比較方便呢? _________________ 各取所需 各盡所能 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|