中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用ABAP編程實現對微軟Office Word文檔的操作

發布時間:2021-12-18 16:45:37 來源:億速云 閱讀:254 作者:柒染 欄目:互聯網科技

這期內容當中小編將會給大家帶來有關怎么使用ABAP編程實現對微軟Office Word文檔的操作,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

SAP ABAP里提供了一個標準的類CL_DOCX_DOCUMENT,提供了本地以".docx"結尾的微軟Office word文檔的讀和寫操作。

Office OpenXML

從微軟 Office2007開始, 當我們新建一個word文檔時,其擴展名從“.doc"變為了".docx",后者是基上遵循了一個開源的規范:Office openXML格式。

例如下圖,我創建了一個最簡單的word文檔,包含了一個Header 區域,一個由三行彩色文字組成的段落,還有一張圖片。

怎么使用ABAP編程實現對微軟Office Word文檔的操作

我們把這個文檔保存到本地,將其擴展名從.docx改成.zip, 然后雙擊,就可以用解壓軟件比如winrar打開。

于是發現這一個最簡單的word文檔實際上由如此多的xml和文件夾構成。

怎么使用ABAP編程實現對微軟Office Word文檔的操作

使用CL_DOCX_DOCUMENT讀取word文件內容

示例代碼如下:

DATA: lv_content TYPE xstring,
lo_document TYPE REF TO cl_docx_document.
PERFORM get_doc_binary USING 'C:Usersi042416Desktop est.docx' CHANGING lv_content.
lo_document = cl_docx_document=>load_document( lv_content ).
CHECK lo_document IS NOT INITIAL.
DATA(lo_core_part) = lo_document->get_corepropertiespart( ).
DATA(lv_core_data) = lo_core_part->get_data( ).
DATA(lo_main_part) = lo_document->get_maindocumentpart( ).
DATA(lo_image_parts) = lo_main_part->get_imageparts( ).
DATA(lv_image_count) = lo_image_parts->get_count( ).DO lv_image_count TIMES.
DATA(lo_image_part) = lo_image_parts->get_part( sy-index - 1 ).
DATA(lv_image_data) = lo_image_part->get_data( ).
ENDDO.
DATA(lo_header_parts) = lo_main_part->get_headerparts( ).
DATA(lv_header_count) = lo_header_parts->get_count( ).DO lv_header_count TIMES.
DATA(lo_header_part) = lo_header_parts->get_part( sy-index - 1 ).
DATA(lv_header_data) = lo_header_part->get_data( ).
ENDDO.

上述代碼的簡要說明

1. 將word文檔的二進制內容傳入方法cl_docx_document=>load_document,得到一個文檔對象引用,然后就可以借助該對象引用調用各種方法了。

2. word文檔的創建者,創建時間,最后修改時間等信息都存儲在所謂的“Core property part”內,可以通過方法lo_document->get_corepropertiespart獲得"Core property part"的引用,再使用該引用調用方法get_data獲得實際內容。

下圖是get_data返回的內容的一個例子,可以看出是xml格式。

怎么使用ABAP編程實現對微軟Office Word文檔的操作

3. 現在我們準備讀取word文檔的正文了。使用方法lo_document->get_maindocumentpart得到word文檔正文,文字的字體類型,顏色也包含在內。如下圖所示:

怎么使用ABAP編程實現對微軟Office Word文檔的操作

怎么使用ABAP編程實現對微軟Office Word文檔的操作

4. Word文檔里插入的圖片的二進制內容當然也是可以讀取出來的。使用方法:lo_image_parts->get_part返回。

同樣的思路,微軟Office 2007之后版本的其他格式的辦公文檔,比如Powerpoint和Excel等,均遵循Office OpenXML標準,因此將其后綴名改為.zip后同樣可以看到大量xml和文件夾。ABAP也同樣提供了標準代碼來讀寫這些Office文檔,例如CL_PPTX_DOCUMENT, CL_XLSX_DOCUMENT等等,如下圖所示。

怎么使用ABAP編程實現對微軟Office Word文檔的操作

上述就是小編為大家分享的怎么使用ABAP編程實現對微軟Office Word文檔的操作了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜丰县| 乾安县| 台北市| 临沂市| 太白县| 古丈县| 沈阳市| 东乌珠穆沁旗| 沅江市| 偏关县| 从江县| 晋中市| 贵定县| 卓资县| 资兴市| 南宁市| 张家川| 刚察县| 绥芬河市| 册亨县| 博湖县| 司法| 烟台市| 聊城市| 栾川县| 镇赉县| 祁门县| 五常市| 图木舒克市| 和田市| 祁东县| 崇明县| 彭阳县| 临湘市| 皮山县| 乐山市| 宜兴市| 大荔县| 类乌齐县| 南部县| 崇信县|