91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么使用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

滁州市| 开封市| 台江县| 曲沃县| 淮南市| 多伦县| 蒲城县| 利川市| 巴林右旗| 三河市| 察雅县| 信丰县| 平乡县| 灵台县| 沾化县| 修文县| 崇礼县| 溧水县| 武城县| 中山市| 且末县| 门源| 凌云县| 万宁市| 中卫市| 西贡区| 湟源县| 清徐县| 滦南县| 东乡| 盘山县| 右玉县| 红桥区| 台南县| 遵义市| 赣州市| 宁安市| 保定市| 陆丰市| 阳城县| 赤水市|