日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Download Excel

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Download Excel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.FM:GUI_DOWNLOAD

?

這是最基本的方法,對應 CLASS:CL_GUI_FRONTEND_SERVICES 的方法 GUI_DOWNLOAD

注意參數 FILENAME xls結尾這樣在保存時可以保存為 excel.

示例如下

?

data:itab?like?table?of??mara?WITH?HEADER?LINE.

DATA:BEGIN?OF?T_FIELDNAMES??OCCURS?0,

????????NAME?TYPE?CHAR20,

?????END?OF?T_FIELDNAMES.

START-OF-SELECTION.

select?*?from?mara?into?table?itab?up?to?10?rows.

?

??????T_FIELDNAMES-NAME?=?'公司代碼'.

??????APPEND?T_FIELDNAMES.

??????T_FIELDNAMES-NAME?=?'功能范圍'.

??????APPEND?T_FIELDNAMES.

?

CALL?FUNCTION?'GUI_DOWNLOAD'

??EXPORTING

????filename????????????????????????=?'C:\1234.xls'

????FILETYPE????????????????????????=?'DAT'???

"這里一般用DAT,如果用ASC1000-不會顯示為-1000,而dat會顯示為-1000,如果用DBF則不會有縮進,即字符前面的空格會被除去,而且字符的前導0也會輸出。

????CODEPAGE????????????????????????=?'8404'

??tables

????data_tab????????????????????????=?ITAB

????FIELDNAMES??????????????????????=?T_FIELDNAMES

?

這個函數雖然說比較簡單,但當FILETYPDAT ASC時,在我的2010EXCEL打開時會彈出如下的對話框(不知道在EXCEL 2003會不會有這樣的問題,知道的童鞋可以給個留言):



原因: DATASC格式存的EXCEL其實是TXT格式,與EXCEL格式不一致。

?

2.FM:SAP_CONVERT_TO_XLS_FORMAT

這個FM功能與GUI_DOWNLOAD類似,不過與EXCEL版本有兼容性的問題,本人在自己的系統上(excel2010)測試此FM,給出了EXCEL文件格式無效,無法打開,在EXCEL2003暫時沒試過。不過,這里還是給出示例:

?

?

CALL?FUNCTION?'SAP_CONVERT_TO_XLS_FORMAT'

??EXPORTING

*???I_FIELD_SEPERATOR??????????=

*???I_LINE_HEADER??????????????=

????I_FILENAME?????????????????=?p_file??"文件名

*???I_APPL_KEEP????????????????=?'?'

??TABLES

????I_TAB_SAP_DATA?????????????=itab?“內表

*?CHANGING

*???I_TAB_CONVERTED_DATA???????=

??EXCEPTIONS

????CONVERSION_FAILED??????????=?1

????OTHERS?????????????????????=?2

?

?

?

3.FM:MS_EXCEL_OLE_STANDARD_DAT

???這個FM不僅僅能把數據傳到EXCEL同時也會直接打開EXCEL文件。

??但是這個函數有一個缺點:當要把中文數據導入到EXCEL時就必有登陸中文的GUI運行程序,否則中文就會變成'#'號。

?

DATA:BEGIN?OF?iT_FIELDNAMES??OCCURS?0,

????????NAME?TYPE?CHAR20,

???????END?OF?iT_FIELDNAMES.

?

??????iT_FIELDNAMES-NAME?=?'Company Code'.?

??????APPEND?iT_FIELDNAMES.

??????iT_FIELDNAMES-NAME?=?'Function Area'.

??????APPEND?iT_FIELDNAMES.

??iT_FIELDNAMES-NAME?=?'5'. "針對非CNDT類型列的列名,函數有Bug

??APPEND?iT_FIELDNAMES.

?

CALL?FUNCTION?'MS_EXCEL_OLE_STANDARD_DAT'

??????EXPORTING

?????????file_name???????????????????????=?'C:\johnson.XLSX'

*????????CREATE_PIVOT????????????????????=?0

*????????DATA_SHEET_NAME?????????????????=?'?'

*????????PIVOT_SHEET_NAME????????????????=?'?'

*????????PASSWORD????????????????????????=?'?'

*????????pASSWORD_OPTION?????????????????=?0

??????TABLES

*????????PIVOT_FIELD_TAB?????????????????=

?????????DATA_TAB????????????????????????=?itab

?????????FIELDNAMES??????????????????????=it_fieldnames

*?????EXCEPTIONS

*????????FILE_NOT_EXIST??????????????????=?1

*????????FILENAME_EXPECTED???????????????=?2

*????????cOMMUNICATION_ERROR?????????????=?3

*????????oLE_OBJECT_METHOD_ERROR?????????=?4

*????????OLE_OBJECT_PROPERTY_ERROR???????=?5

*????????INVALID_PIVOT_FIELDS????????????=?6

*???????DOWNLOAD_PROBLEM????????????????=?7

*????????OTHERS??????????????????????????=?8.

????????????????????

?

說明:應用這個FM時要注意的BUG:

1、Fieldname數據類型會被強制轉變為對應列的類型,如果轉換失敗則Dump

2、如果連續兩次或兩次以上以上調用,列名會跑到數據區

?

還有一個貌似是這個函數前身 EXCEL_OLE_STANDARD_DAT ,實現方法差不多,不過這個函數對某些表會報

"data can't converted in unicode program"的錯誤,所以還是建議大家采用最新的函數。

?

?

?

4.FM:XXL_FULL_API

這個作者還沒有用過,不過有個參考示例se38:XXLTTEST,有興趣和需求的童鞋可以去看看。

?

5.OLE

這種方式與上面幾種比較優點在于能夠定制EXCEL格式,不過比較麻煩。

實現方法大家GOOLGE,網上很多前輩的帖子,這里就不詳述。

?

6.ABAP2XLSX

這是一個類包,是一群愛好者開發的一個專門用于將ABAP數據導入到EXCEL的類,包括對齊,合并,字體,著色等的設置,因為是面向對象的,相比OLE方式要簡單,所以編寫程序也就比較省力了。

這個方法一般用于需要定制EXCEL格式的情況下使用。

有需要的童鞋可以CALL ME,大家交流一下。。。。


總結

以上是生活随笔為你收集整理的Download Excel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。