Экспорт файла базы данных sqlite в XML, а затем в электронную таблицу Excel - PullRequest
5 голосов
/ 26 декабря 2011

Я пытаюсь выполнить эту задачу за последние 12 часов, но все еще не могу это сделать ... Теперь у меня есть файл базы данных sqlite с именем "testDatabase.db" на карте SD в качестве файла резервной копии ...Теперь я хочу открыть базу данных в формате электронной таблицы, чтобы конечный пользователь мог получить доступ к базе данных и сохранить эту базу данных электронной таблицы в своей системе, а затем в дальнейшем для распечатки и для других целей.

Я изучил некоторые изучебники, в которых было написано, что вы можете сначала преобразовать ваш файл базы данных в XML, а затем экспортировать этот файл в формат Excel ..

Но я не могу экспортировать мой файл базы данных в формат XML ...к моему требованию я хочу, чтобы при нажатии кнопки файл моей базы данных был преобразован в формат xml, чтобы его мог использовать конечный пользователь.

Спасибо ..

Ответы [ 4 ]

3 голосов
/ 31 декабря 2011

Я знаю, что это может быть немного поздно, но в случае, если кто-то другой ищет это и видит этот вопрос, лучшим ответом будет экспорт базы данных в виде файла CSV (с разделителями-запятыми).

sqlite3 имеет функцию только для этого, называемую "цитата". Подробнее об этом вы можете прочитать здесь:

http://www.sqlite.org/lang_corefunc.html#quote

пример:

создать таблицу t1 (c1 char, c2 int);

вставить в значения t1 ('a hi', 1);

вставить в значения t1 ('b hello', 2);

выберите цитату (а) || ',' || б из т1;

это вернет: «привет», 1 'b hello', 2

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

2 голосов
/ 26 декабря 2011

Должно ли преобразование происходить на устройстве Android?

Если вы более гибки в своих действиях, вы можете предоставить пользователю файл базы данных sqlite, и он сможет импортировать данные через ODBC sqlite.драйвер: http://www.ch -werner.de / sqliteodbc /

1 голос
/ 17 марта 2014

Хотя это технически не генерация XML, вы можете легко пропустить этот средний шаг и создать электронную таблицу Excel непосредственно из командной строки.

Большинство приложений электронных таблиц могут импортировать таблицы HTML и удобно sqlite3 имеет параметр командной строки для экспорта запросов в этом формате.

echo "<HTML>
<BODY>
<TABLE>" > spreadsheet.xls

sqlite3 -html sqlite.db "select * from table;" >> spreadsheet.xls

echo "</TABLE>
</BODY>
</HTML>" >> spreadsheet.xls

Например, при открытии этого файла spreadsheet.xls в LibreOffice мне предоставляется опция Import.Нажав «Да», файл откроется как обычная электронная таблица.Затем вы можете настроить форматирование и при необходимости восстановить его, чтобы сделать его настоящим файлом Excel в формате XML.

0 голосов
/ 26 декабря 2011

Насколько я знаю, для этого не существует способа "одним щелчком мыши". Вы можете создать скрипт .bat для экспорта каждой таблицы в таблицу CSV или html (здесь можно найти команды ), а затем импортировать их в Excel.
Или вы можете загрузить программное обеспечение, такое как браузер базы данных sqlite, открыть файл .db и затем экспортировать каждую таблицу в файл csv.

...