|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Willyhuang
註冊時間: 2021-03-17 文章: 3 來自: 台北
第 1 樓
|
發表於: 星期三 三月 17, 2021 1:40 pm 文章主題: 將查詢的資料轉出到EXCEL 動態欄位名稱 |
|
|
STORE TEMP3.TITLE1 TO T1
STORE TEMP3.TITLE2 TO T2
STORE TEMP3.TITLE3 TO T3
STORE TEMP3.TITLE4 TO T4
STORE TEMP3.TITLE5 TO T5
STORE TEMP3.TITLE6 TO T6
STORE TEMP3.TITLE7 TO T7
IF EMPTY(T1)
STORE "空白1" TO T1
ENDIF
IF EMPTY(T2)
STORE "空白2" TO T2
ENDIF
IF EMPTY(T3)
STORE "空白3" TO T3
ENDIF
IF EMPTY(T4)
STORE "空白4" TO T4
ENDIF
IF EMPTY(T5)
STORE "空白5" TO T5
ENDIF
IF EMPTY(T6)
STORE "空白6" TO T6
ENDIF
IF EMPTY(T7)
STORE "空白7" TO T7
ENDIF
SELECT CORP AS 代號,;
CORPNAME AS 名稱,;
PROJNO AS 案號,;
PROJNAME AS 案名,;
MONEY1 AS &T1.,;
MONEY2 AS &T2.,;
MONEY3 AS &T3.,;
MONEY4 AS &T4.,;
MONEY5 AS &T5.,;
MONEY6 AS &T6.,;
MONEY7 AS &T7.,;
MONEY1+MONEY2+MONEY3+MONEY4+MONEY5+MONEY6+MONEY7 AS 合計;
FROM TEMP5 INTO CURSOR EXCEL1
EXPORT TO &_FILENAME. TYPE XL5
將資料轉出到EXCEL時 動態的欄位名稱 &T1~&T7 這邊會出錯
請問要如何修改 謝謝! |
|
回頂端 |
|
|
lygcw9603
註冊時間: 2011-12-25 文章: 129
第 2 樓
|
發表於: 星期三 三月 17, 2021 7:11 pm 文章主題: |
|
|
給點數據,最後要達到的效果圖 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 3 樓
|
發表於: 星期三 三月 17, 2021 9:05 pm 文章主題: |
|
|
先把命令寫成文字變數,再用巨集方式執行即可。
sqlcmd="SELECT CORP AS 代號,;
CORPNAME AS 名稱,;
PROJNO AS 案號,;
PROJNAME AS 案名,;
MONEY1 AS &T1.,;
MONEY2 AS &T2.,;
MONEY3 AS &T3.,;
MONEY4 AS &T4.,;
MONEY5 AS &T5.,;
MONEY6 AS &T6.,;
MONEY7 AS &T7.,;
MONEY1+MONEY2+MONEY3+MONEY4+MONEY5+MONEY6+MONEY7 AS 合計;
FROM TEMP5 INTO CURSOR EXCEL1"
&sqlcmd |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期四 三月 18, 2021 10:09 am 文章主題: |
|
|
ckp6250 寫到: | 先把命令寫成文字變數,再用巨集方式執行即可。
|
我習慣上會這樣做
因為可以檢查 SQL 命令對不對 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
Willyhuang
註冊時間: 2021-03-17 文章: 3 來自: 台北
第 5 樓
|
發表於: 星期四 三月 18, 2021 1:59 pm 文章主題: |
|
|
感謝
我在試試
謝謝! |
|
回頂端 |
|
|
perry
註冊時間: 2014-07-20 文章: 203
第 6 樓
|
發表於: 星期五 三月 19, 2021 6:03 pm 文章主題: |
|
|
試試將
MONEY1 AS &T1.,;
MONEY2 AS &T2.,;
MONEY3 AS &T3.,;
MONEY4 AS &T4.,;
MONEY5 AS &T5.,;
MONEY6 AS &T6.,;
MONEY7 AS &T7.,;
改成
MONEY1 AS &T1 ,;
MONEY2 AS &T2 ,;
MONEY3 AS &T3 ,;
MONEY4 AS &T4 ,;
MONEY5 AS &T5 ,;
MONEY6 AS &T6 ,;
MONEY7 AS &T7 ,; |
|
回頂端 |
|
|
lygcw9603
註冊時間: 2011-12-25 文章: 129
第 7 樓
|
發表於: 星期六 三月 20, 2021 1:52 pm 文章主題: |
|
|
lcStr = "yw As 語文, sx AS 數學, yy AS 英語, wl As 物理"
ALINES(laStr, lcStr, ",")
LIST MEMORY LIKE laStr
SELECT xh, xm, bj, &laStr[2] FROM cj |
|
回頂端 |
|
|
Willyhuang
註冊時間: 2021-03-17 文章: 3 來自: 台北
第 8 樓
|
發表於: 星期一 三月 22, 2021 3:22 pm 文章主題: |
|
|
謝謝 各位的指導
因為 我不懂"先把命令寫成文字變數,再用巨集方式執行即可。 "
實際上要如何操作 所以我先把程式改成以下
MYWord=CREATEOBJECT("EXCEL.Application")
MYWord.VISIBLE=.T.
MYWord.WorkBooks.Add
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(1,1).VALUE="明細表"
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(1,1).FONT.FONTSTYLE="ITALIC"
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(1,1).FONT.SIZE=24
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(1,1).FONT.COLOR=RGB(05,0,255)
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,1).VALUE="代號"
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,2).VALUE="名稱"
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,3).VALUE="案號"
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,4).VALUE="案名"
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,5).VALUE=T1
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,6).VALUE=T2
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,7).VALUE=T3
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,.VALUE=T4
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,9).VALUE=T5
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,10).VALUE=T6
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,11).VALUE=T7
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(3,12).VALUE="合計"
SELECT TEMP5
GOTO TOP
FOR I=1 TO RECCOUNT()
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,1).VALUE=CORP
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,2).VALUE=CORPNAME
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,3).VALUE=PROJNO
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,4).VALUE=PROJNAME
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,5).VALUE=temp5.MONEY1
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,6).VALUE=temp5.MONEY2
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,7).VALUE=temp5.MONEY3
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,.VALUE=temp5.MONEY4
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,9).VALUE=temp5.MONEY5
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,10).VALUE=temp5.MONEY6
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,11).VALUE=temp5.MONEY7
MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,12).VALUE=temp5.MONEY5MYWord.ACTIVEWORKBOOK.SHEETS(1).CELLS(4+I,15).VALUE=temp5.MONEY1+temp5.MONEY2+temp5.MONEY3+temp5.MONEY4+temp5.MONEY5++temp5.MONEY6++temp5.MONEY7
IF !EOF()
SELECT temp5
SKIP 1
ENDIF
ENDFOR
再看看是否有其他方法執行 目前這作法如果資料量大
是要等一些時間
謝謝! |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 9 樓
|
發表於: 星期一 三月 22, 2021 5:46 pm 文章主題: |
|
|
可以用 COPY TO TYPE FOX2X
先做成 DBF 2.X 的檔案格式,
再用 EXCEL 開啟,
改成你要的表頭,欄位格式,等等
再另存為 XLS 或是 XLSX 就好了
但如果你用到一些特殊型態的欄位,
那就不能這樣做了 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
小賴
註冊時間: 2004-12-27 文章: 470
第 10 樓
|
發表於: 星期二 三月 23, 2021 9:38 am 文章主題: |
|
|
對於excel 的操作;包括報表產出;我看到的例子都是
如8樓所示從沒有到完成階由程式產生;其中包括表頭
字型;顏色,欄寬 .....等
可這樣作不會很 "厚工" 嗎?
為什麼不先用 excel 作成 .xlt (樣版)
所有外觀,格式,顏色 .... 有的沒有等都設定好
程式只負責打開xlt檔及填資料最後另存新檔
或列印簡單的說就是套表列印 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 11 樓
|
發表於: 星期二 三月 23, 2021 2:36 pm 文章主題: |
|
|
小賴 寫到: |
為什麼不先用 excel 作成 .xlt (樣版)
所有外觀,格式,顏色 .... 有的沒有等都設定好
程式只負責打開xlt檔及填資料最後另存新檔
或列印簡單的說就是套表列印 |
我就是如此作法,另外,寫一支共用函數,把常用的設定寫好,直接呼叫,並不會很厚工。 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|