Как создать POI VBAMacroReader (POIFSFileSystem fs) - PullRequest
0 голосов
/ 24 апреля 2019

В настоящее время у меня есть рабочий код, который выполняет

 pkg = OPCPackage.open(stream);
 // process worksheets in pkg...
 mr = new VBAMacroReader(stream);
 // process macros

Проблема в том, что первый вызов читает поток, а второй затем не может его прочитать.Обходной путь - создать несколько BufferedInputReaders, который работает, но, очевидно, все неправильно.Зачем сначала сканировать pkg дважды?

То, что я должен делать, это вызывать

new VBAMacroReader(pkg.somehowGetPOIFSFileSystem())

Однако не совсем понятно, каким должен быть каким-то образом GetPOIFSFileSystem ().

(У меня есть только источник в качестве источника, а не файл, он идет по сети. Нужно работать только для .xlsm, а не .xls. Но, очевидно, макро-часть является двоичной.)

Любая помощь приветствуется.

...