считываем docx в xstring
Code:
l_data_xml = cl_openxml_helper=>load_local_file ( l_filename ). 
достаем содержимое файла.
Code:
  CREATE OBJECT gr_zipper.
  gr_zipper-> load( string ).
  gr_zipper-> get( EXPORTING name = 'word/document.xml' IMPORTING content = gv_document ).
  gr_ixml = cl_ixml=>create ( ).
  gr_stream_factory = gr_ixml->create_stream_factory ( ).
  gr_istream = gr_stream_factory->create_istream_xstring ( gv_document ).
  gr_document = gr_ixml->create_document ( ).
  gr_parser = gr_ixml->create_parser ( stream_factory = gr_stream_factory
                                        istream        = gr_istream
                                        document       = gr_document ). 
    gr_parser-> parse( ).
идем по таблицам
Code:
 lr_ffilter = lr_nnode ->create_filter_name( name = 'tbl' namespace = 'w' ).
 lr_fiterator = lr_nnode ->create_iterator_filtered( lr_ffilter ).
 lr_fnode = lr_fiterator ->get_next( ).
идем строкам таблицы
Code:
 lr_ffilter = lr_nnode ->create_filter_name( name = 'tr' namespace = 'w' ).
 lr_fiterator = lr_nnode ->create_iterator_filtered( lr_ffilter ).
 lr_fnode = lr_fiterator ->get_next( ).
идем по ячейкам
Code:
 lr_ffilter = lr_nnode ->create_filter_name( name = 'tc' namespace = 'w' ).
 lr_fiterator = lr_nnode ->create_iterator_filtered( lr_ffilter ).
 lr_fnode = lr_fiterator ->get_next( ).
 lv_value = lr_fnode->get_value().
Конечно копаться в мозгах XML файла дело неблагодарное 

, но как вариант.