
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.11.2006, 22:16:11
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
привет всем. Мне надо написать класс который используя Jakarta POI переводит данные из таблицы msSql. Возможности просто обалденные, но если таблица большая(в моем случае 150000 записей) вылетает OutOfMemoryError. Смотрел где то на форумах предлагают увеличить виртуальную память jvm, но в моем случае это не подходит. МОжно как нить решить проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.11.2006, 22:28:55
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
Выдели для VM больше памяти или пиши данные пакетным образом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.11.2006, 23:08:14
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
bruderпривет всем. Мне надо написать класс который используя Jakarta POI переводит данные из таблицы msSql. Возможности просто обалденные, но если таблица большая(в моем случае 150000 записей) вылетает OutOfMemoryError. извините, нифига не понял - что куда должно 'переводить' данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.11.2006, 23:16:47
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
Забыл напечатать - перевести в Excel. anton_evane пиши данные пакетным образом Вот об этом пожалуйта поподробнее. Чувствую это неплохое решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.11.2006, 23:56:16
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
bruderЗабыл напечатать - перевести в Excel. anton_evane пиши данные пакетным образом Вот об этом пожалуйта поподробнее. Чувствую это неплохое решение вынуджен огорчить. POI, как впрочем и всякие JExcelApi, не имеет 'stream' режима. т.е. сперва все данные книги (листа) загоняются в память, и только потом есть возможность сохранить данные из памяти на диск. соответственно, либо увеличивать кол-во доступной памяти, либо можешь поискать jdbc-odbc мост для excel'я (если речь идет о windows платформе) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2006, 15:25:32
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
Вообще-то если надо очень большую таблицу вывести так, чтобы она читалась MS Excel, можно выдать CSV файл. Его можно писать в поток (в файл или в сокет) построчно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2006, 17:05:38
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
hubamuba спасибо за ответ. Да, это полная лажа, потому что от POI пидется отказатся, а алтернативы пока не знаю. А вот такой вопрос: может можно например создавать отдельные Sheet и записывать их в уже созданную ранее workbook(в которой уже есть другие sheets)? тоже был бы вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2006, 17:18:19
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
bruder hubamuba спасибо за ответ. Да, это полная лажа, потому что от POI пидется отказатся, а алтернативы пока не знаю. А вот такой вопрос: может можно например создавать отдельные Sheet и записывать их в уже созданную ранее workbook(в которой уже есть другие sheets)? тоже был бы вариант. теоретически можно. копай в сторону: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. только вот вопрос в том, а хватит ли тебе памяти хотя бы для одного листа... зависит от кол-ва столбцов и степени их заполненности данными. М.ГоловановВообще-то если надо очень большую таблицу вывести так, чтобы она читалась MS Excel, можно выдать CSV файл. Его можно писать в поток (в файл или в сокет) построчно. безусловно можно. тока придется забыть о форматировании. чтоб сравнить, достаточно залить csv файл в excel и открыть такой же файл сгенеренный poi или jexcelapi (ессно с форматированием и т.д). небо и земля :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2006, 17:48:40
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
hubamuba только вот вопрос в том, а хватит ли тебе памяти хотя бы для одного листа... зависит от кол-ва столбцов и степени их заполненности данными. действительно не подумал. Хотя я Excel знаю плохо, и не знаю какой тип данных самый большой(надеюсь не как в msSQL - image до 2 гигов), может и можно как нить определить размер листа в процессе конвертации. То что ты посоветовал уже что то, обнадеживает, огромное спасибо :). Пойду Excel учить.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.11.2006, 22:12:03
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
Альтернатива Jacob только теряется кроссплатформенность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.11.2006, 06:29:49
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
bruderпривет всем. Мне надо написать класс который используя Jakarta POI переводит данные из таблицы msSql. Возможности просто обалденные, но если таблица большая(в моем случае 150000 записей) вылетает OutOfMemoryError. Смотрел где то на форумах предлагают увеличить виртуальную память jvm, но в моем случае это не подходит. МОжно как нить решить проблему? По-моему тут по форуму пробегала ссылка на пропатченый каким-то энтузиастом вариант POI на тему снижения потребления памяти. Кроме того эксель вроде бы тебе и так не даст на один лист запихать 150000 записей а только что-то в район 65535 записей поищи по форуму или по инету что-то вроде poi-2.5.1-final-patched.jar ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.11.2006, 10:04:59
|
|||
|---|---|---|---|
POI |
|||
|
#18+
Может кто знает как лист обозвать на русском, ибо результат Код: plaintext Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.11.2006, 11:14:52
|
|||
|---|---|---|---|
POI |
|||
|
#18+
zalexakaМожет кто знает как лист обозвать на русском, ибо результат Код: plaintext Заранее благодарен.Вроде это не лечится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.11.2006, 11:18:27
|
|||
|---|---|---|---|
|
|||
POI |
|||
|
#18+
zalexakaМожет кто знает как лист обозвать на русском, ибо результат Код: plaintext Заранее благодарен. Код: plaintext 1. думаю понятно о чем я... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2147505]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
393ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 678ms |

| 0 / 0 |
