2015-03-09 3 views
0

Я пытаюсь установить простой метод для извлечения справочной информации из нескольких ячеек существующей таблицы Excel из приложения для Android (которое находится на защищенном сетевом диске компании, но может быть перемещен в безопасное облако). Затем я хочу добавить информацию к этой «записи» или строке одной и той же электронной таблицы.Как обновить лист excel из приложения Android

Для этого требуется база данных SQLite? или я могу вытащить справочную информацию непосредственно из существующего листа excel в таблицу/список в приложении, а затем выбрать, чтобы добавить информацию в тот же лист в ячейках относительно выбранной справочной информации/записи?

Я просмотрел форум и сеть и нашел много информации о SQLite, но ничего, что вполне соответствует моим требованиям.

Идея этого заключается в том, чтобы иметь возможность находить и выбирать запись в приложении, а затем добавлять в нее данные (включая фотографии). Так что обновляйте лист excel с дополнительной информацией.

Существующий лист заполняется справочной информацией на ПК и сохраняется на сетевом диске, а позднее будет добавлен через приложение для Android, как указано выше.

Любая помощь и руководство очень ценятся.

+0

Прежде всего, что это за классный листок? Oles на основе xls или XML на основе xlsx? Если он основан на стиле ole (старый офисный стиль), для работы с этими файлами необходима сторонняя библиотека, например Apache POI. Если XML основан на файле, это простой zip-файл, содержащий много xml и xls и т. Д. Вы найдете данные в xml-файлах, и вы сможете читать и манипулировать ими по своему усмотрению. Вы также можете работать с файлом xlsx с использованием Apache POI, но если файл очень худший, apache poi является неправильным выбором, потому что он загружает полный лист в ram, то лучше всего использовать непосредственно xml –

+0

p.s. Я Android (... хорошо программирование вообще ...) новичок. Поэтому, пожалуйста, будьте терпеливы со мной! Это очень крутая (и очень интересная) кривая обучения! – Alex

ответ

0

Существуют две разные версии форматов файлов Excel, используемых сегодня.

  1. ли старая мода OLE на основе файла заканчивается: XLS
  2. Это новый стиль на основе файла XML окончание: XLSX

Оба из них могут быть обработаны Java, а также на андроид. Лучшая практика работы с офисными документами в Java - это проект POI Apache, который может обрабатывать оба вида офисных форматов.

Ее ссылка на Apache POI для Excel: http://poi.apache.org/spreadsheet/index.html

Что вы можете сделать:

Если OLE основан ваш единственный выбор является использование POI. Но POI всегда будет загружать файл отверстия в оперативную память, что может быть проблемой для Android Deviecs с меньшим объемом оперативной памяти.

Если это основанный на XML, вы можете напрямую манипулировать данными на листе в xml. Формат файла xlsx или любой офисный документ, заканчивающийся на «x», представляет собой zip-файл, включающий XML-данные, а также метаинформацию и т. Д. Файл такого рода можно распаковать в временную папку, вы можете читать данные xml и манипулировать ими , После этого спустите папку temp в файл xlsx, и вы в порядке. Или вы также можете использовать poi для работы с файлом xlsx, но и здесь он всегда загружает файл отверстия. (У меня есть приложения, которые нажимают несколько тысяч строк в excelsheet, используя технику xml)

Надеюсь, что это поможет.

P.S. Я никогда не пытался использовать Apache POI на Android, должен работать, но я не уверен. Поиск в Google для примеров.

Вот некоторые ссылки, касающиеся XML и Zip техники:

  1. ZipFile в Android SDK: http://developer.android.com/reference/java/util/zip/ZipFile.html
  2. Offical XML Android Docs: http://developer.android.com/training/basics/network-ops/xml.html
  3. Хороший учебник о XML-парсинга с использованием библиотеки XMLPullParser: http://developer.android.com/training/basics/network-ops/xml.html
  4. Официальные спецификации XLSX от Microsoft: https://msdn.microsoft.com/en-us/library/dd922181%28v=office.12%29.aspx
  5. Пример для больших листов, непосредственно манипулирующих xm l данные: https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java
+0

Спасибо @rmertins. Это отличная информация. Я буду изучать POI немного больше, но из того, что вы говорите, идея вытащить весь файл неактивна, поскольку она не нужна. Мне просто нужно несколько ячеек для ссылки, чтобы добавить их в эти записи. Не могли бы вы указать мне в правильном направлении андроид-код для такого рода событий? Еще раз спасибо. Я также должен добавить, что это формат .xlsx, с которым я работаю. – Alex

+0

Усиленный мой ответ –

+0

Большое спасибо. Мне придется уйти и поглотить информацию здесь. Как я уже сказал, я нахожусь на кривой обучения с этим. Но информация, которую вы дали, кажется идеальной для задачи, которую я пытаюсь достичь. Очень ценю ..... если бы у меня было достаточно голосов, чтобы проголосовать за это, я бы, но я уверен, что другие, которые видят здесь ценность, сделают это! Спасибо – Alex

Смежные вопросы