Есть еще библиотека Aspose для Java и .NET (http://www.aspose.com/). Мы используем Java версию, он нормально сохраняет в разные форматы (у нас в задачах требуется сохранять документы в xls, ods, pdf). Удобно тем, что достаточно просто указать расширение при сохранении файла. НО это платное решение, быть может вы найдете бесплатные решения.