Запись файла .doc в Android

#android #ms-word #apache-poi

#Android #ms-word #apache-poi

Вопрос:

Я пытаюсь написать новый файл word и Excel из своего приложения для Android. Я использовал библиотеку Apache POI. Я добился успеха, создав файл Excel без ошибок. Я использовал HSSFWorkbook для создания и заполнения файла Excel. Но при создании файла word с использованием XWPFDocument выдает мне много ошибок и предупреждений. Ошибка заключалась в том, что файл класса XMLEventFactory был найден отсутствующим. Я попытался найти все возможные решения в Google и получил ответ, что в Android отсутствует несколько основных библиотек JAVA. Существуют ли какие-либо другие библиотеки с открытым исходным кодом для его реализации или лучший способ исправить эту ошибку.

Ответ №1:

С форматами на основе XML вы столкнетесь с несколькими проблемами с голыми библиотеками Apache POI, Android имеет некоторые ограничения, а файл jar XMLBeans содержит дубликаты файлов классов среди прочих.

В настоящее время существует как минимум два проекта, которые переносят / настраивают Apache POI для упрощения использования на Android:

  1. https://github.com/andruhon/android5xlsx — предоставляет предварительно упакованные библиотеки Apache POI 3.12, которые к настоящему времени немного устарели

  2. https://github.com/centic9/poi-on-android / — использует другой подход и позволяет более легко перестроить упакованную библиотеку с более новыми версиями Apache POI (это поддерживается мной)

Комментарии:

1. Привет. Спасибо за ваши усилия.. но я видел ваше решение в аналогичном вопросе, и я попытался использовать вашу библиотеку poiShadow-all. Но это не дает мне решения. Пакет не импортирует необходимые пакеты, такие как import org.apache.poi.hssf.usermodel. HSSFCellStyle; импортируйте org.apache.poi.hssf.usermodel. HSSFWorkbook; Поэтому я не мог использовать этот пакет.

2. Некоторые вещи исключаются на этапах сборки по умолчанию с помощью инструкций «исключить». Посмотрите на poishadow / build.gradle. Вы можете удалить любой из них, чтобы включить эти фрагменты кода.