В настоящее время у меня есть рабочий код, который выполняет
pkg = OPCPackage.open(stream);
// process worksheets in pkg...
mr = new VBAMacroReader(stream);
// process macros
Проблема в том, что первый вызов читает поток, а второй затем не может его прочитать.Обходной путь - создать несколько BufferedInputReaders, который работает, но, очевидно, все неправильно.Зачем сначала сканировать pkg дважды?
То, что я должен делать, это вызывать
new VBAMacroReader(pkg.somehowGetPOIFSFileSystem())
Однако не совсем понятно, каким должен быть каким-то образом GetPOIFSFileSystem ().
(У меня есть только источник в качестве источника, а не файл, он идет по сети. Нужно работать только для .xlsm, а не .xls. Но, очевидно, макро-часть является двоичной.)
Любая помощь приветствуется.