ResultSet -> XLS - PullRequest
       16

ResultSet -> XLS

0 голосов
/ 31 января 2009

Мне нужно выполнить несколько SQL-запросов и поместить результаты в электронную таблицу. Поскольку я нахожусь в среде Spring / Java, я собирался выполнить запросы с использованием JDBC, перебрать ResultSet и использовать Jakarta POI для создания простого XLS.

Это выглядит как очень распространенное требование, поэтому мне было интересно, есть ли что-то уже доступное - пакет, который предоставляет некоторые запросы SQL и источник данных, может выполнять запросы и «экспортировать» их ResultSets в электронную таблицу. Кто-нибудь знает такой пакет?

Ответы [ 5 ]

3 голосов
/ 31 января 2009

Я очень предпочитаю Энди Кхана JExcel POI. Может быть, вы тоже.

2 голосов
/ 31 января 2009

Вы можете вообще пропустить Java. Microsoft SQL Server Management Studio может подключаться к вашей книге Excel и напрямую выгружать в нее данные.

Если вы используете что-то отличное от MS SQL Server 2005, вы все равно можете создать запрос в Excel к любому источнику данных ODBC и написать запрос SQL для извлечения данных на лист. Затем вы можете в любое время повторно выполнить запрос, чтобы обновить данные. Я рекомендую все, что вам нужно сделать с этими данными, вы делаете на отдельных листах.

1 голос
/ 31 января 2009

Вы можете взглянуть на Jasper Reports . Конечно, он может выполнять экспорт в XLS (или в CSV, или в PDF ...), и я считаю, что передать его в виде набора результатов SQL должно быть относительно просто.

1 голос
/ 31 января 2009

Не прямой ответ на ваш вопрос, но для такого рода задач я бы лучше взглянул на dbunit , который, хотя обычно используется для тестирования DAO, обладает всеми необходимыми функциями для этого. Он также может выполнять противоположную задачу (т.е. считывать данные из файла XLS и передавать их в базу данных).

Думаю, менее чем за час вы можете заставить его делать то, что вам нужно. Для этого конкретного случая вы, конечно, можете удалить зависимость dbunit от JUnit (ни один из классов dbunit, которые вы бы использовали для этого, не зависит от JUnit).

1 голос
/ 31 января 2009

SSMS имеет встроенную функциональность, которую можно использовать. Вы также можете использовать SSIS. Мне также понравилась простота использования SQLAnswers Query , которая довольно удобна Вы также можете использовать командную строку BCP, чтобы выйти на CSV.

...