una soluzione, complessa, può essere quella di passare da OpenOffice/LibreOffice facendolo partire in modalità server (headless) e quindi fare gestire a lui le operazioni

considera che però è un'operazione pesante ed il codice è complesso