Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Оптимизация размера файла - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Оптимизация размера файла
Мурад Дата: Четверг, 02.03.2017, 12:29 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 520
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Добрый день.
Программисты сформировали по нашему запросу 2 файла по Ссылка удалена
Файл changes.xlsx весом 500 метров после определенного времени худо-бедно открывается. А вот файл 3829_main.xlsx весом 850 метров мой ПК открыть уже не в состоянии (оперативка 8 Гб, i3 3,7 ГГц).
Для справки, в файле changes.xlsx содержится 4,2 млн строк на 5 вкладках (каждая следующая вкладка это продолжение таблицы из предыдущего листа). Общее количество заполненных ячеек в книге - 120 млн. Форматирование в обеих книгах отсутствует.
Как можно оптимизировать файлы? Хотя бы сделать возможным открытие основного файла


Сообщение отредактировал SLAVICK - Четверг, 02.03.2017, 12:35
 
Ответить
СообщениеДобрый день.
Программисты сформировали по нашему запросу 2 файла по Ссылка удалена
Файл changes.xlsx весом 500 метров после определенного времени худо-бедно открывается. А вот файл 3829_main.xlsx весом 850 метров мой ПК открыть уже не в состоянии (оперативка 8 Гб, i3 3,7 ГГц).
Для справки, в файле changes.xlsx содержится 4,2 млн строк на 5 вкладках (каждая следующая вкладка это продолжение таблицы из предыдущего листа). Общее количество заполненных ячеек в книге - 120 млн. Форматирование в обеих книгах отсутствует.
Как можно оптимизировать файлы? Хотя бы сделать возможным открытие основного файла

Автор - Мурад
Дата добавления - 02.03.2017 в 12:29
SLAVICK Дата: Четверг, 02.03.2017, 12:47 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Зачем хранить такой объем в файле xlsx на листах?
Для хранения большого объема - используйте предназначенные для этого инструменты:
Access, SQL.
Если нужно из этих данных делать отчеты в Excel - устанавливайте 2013(лучше 2016) офис - создавайте модель данных - и будет Вам счастье.
у меня файл Excel с моделью данных смог "съесть" больше 30млн строк - и нормально работал.
Для ознакомления почитайте тут и тут
[offtop]ЗЫ Ваш большой файл у меня открылся.
Офис 2016х64
Винда 2007х64
Cor I5 x 8Gb
Его содержимое - только подтверждает мои слова о необходимости хранения данных в БД. [/offtop]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеЗачем хранить такой объем в файле xlsx на листах?
Для хранения большого объема - используйте предназначенные для этого инструменты:
Access, SQL.
Если нужно из этих данных делать отчеты в Excel - устанавливайте 2013(лучше 2016) офис - создавайте модель данных - и будет Вам счастье.
у меня файл Excel с моделью данных смог "съесть" больше 30млн строк - и нормально работал.
Для ознакомления почитайте тут и тут
[offtop]ЗЫ Ваш большой файл у меня открылся.
Офис 2016х64
Винда 2007х64
Cor I5 x 8Gb
Его содержимое - только подтверждает мои слова о необходимости хранения данных в БД. [/offtop]

Автор - SLAVICK
Дата добавления - 02.03.2017 в 12:47
bmv98rus Дата: Четверг, 02.03.2017, 13:59 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4149
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
В отношении смены подхода, полностью поддерживаю предыдущего оратора

Но временно могу предположить что вы дошли до ограничений 32х разрядного Excel. Сколько б памяти небыло на пк, более 2х гиглв 32х разрядное приложение не схавает. Ставьте x64 и продолжайте мучать себя и комп.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Четверг, 02.03.2017, 14:00
 
Ответить
СообщениеВ отношении смены подхода, полностью поддерживаю предыдущего оратора

Но временно могу предположить что вы дошли до ограничений 32х разрядного Excel. Сколько б памяти небыло на пк, более 2х гиглв 32х разрядное приложение не схавает. Ставьте x64 и продолжайте мучать себя и комп.

Автор - bmv98rus
Дата добавления - 02.03.2017 в 13:59
Мурад Дата: Четверг, 02.03.2017, 14:20 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 520
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Спасибо, SLAVICK, bmv98rus
ОС у меня 64-разрядная, но увы.
Это данные по сути открытые. Это ведомственный перечень госуслуг Минобрнауки. Он доступен всем пользователям на офсайте.
На вопрос, зачем этот массив нужен в эксель, отвечаю. Для ознакомления ВУЗов о возможных услугах, которые они могут оказывать. Чтоб разослать всем.
По сути, все эти миллионы строк в 2 файлах, которые вы видите, я хочу ужать в 1 файл до 80-100 тыс. строк. Там дело такое, что значения всех полей повторяются, дублируются из строки к строке. Из-за того, что 2 поля каждого ВУЗа в полях CODE и SUB_INN (код ВУЗа и его ИНН) записан на новой строке. Каждая запись (реестровый номер), т.е. все остальные поля, кроме CODE и SUB_INN, повторяется от 1 до 350 раз. Т.е. к примеру из 10 строк:
a1 b1 c1 d1 e1
a1 b1 c1 d2 e2
...
a1 b1 c1 d10 e10

надо сделать одну строку:

a1 b1 c1 d1,d2,...,d10 e1,e2,e3,...,e10
Для этого планировал объединить 2 файла в один, для начала :)


Сообщение отредактировал Мурад - Четверг, 02.03.2017, 14:22
 
Ответить
СообщениеСпасибо, SLAVICK, bmv98rus
ОС у меня 64-разрядная, но увы.
Это данные по сути открытые. Это ведомственный перечень госуслуг Минобрнауки. Он доступен всем пользователям на офсайте.
На вопрос, зачем этот массив нужен в эксель, отвечаю. Для ознакомления ВУЗов о возможных услугах, которые они могут оказывать. Чтоб разослать всем.
По сути, все эти миллионы строк в 2 файлах, которые вы видите, я хочу ужать в 1 файл до 80-100 тыс. строк. Там дело такое, что значения всех полей повторяются, дублируются из строки к строке. Из-за того, что 2 поля каждого ВУЗа в полях CODE и SUB_INN (код ВУЗа и его ИНН) записан на новой строке. Каждая запись (реестровый номер), т.е. все остальные поля, кроме CODE и SUB_INN, повторяется от 1 до 350 раз. Т.е. к примеру из 10 строк:
a1 b1 c1 d1 e1
a1 b1 c1 d2 e2
...
a1 b1 c1 d10 e10

надо сделать одну строку:

a1 b1 c1 d1,d2,...,d10 e1,e2,e3,...,e10
Для этого планировал объединить 2 файла в один, для начала :)

Автор - Мурад
Дата добавления - 02.03.2017 в 14:20
bmv98rus Дата: Пятница, 03.03.2017, 00:19 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4149
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
ОС у меня 64-разрядная, но увы.

А где я упоминал про ОС? Вы проверьте разрядность MS Office

Вы описываете нормальную таблицу с данными, которую хотите после перестроить в сводную. и тем самым избавится от дубликатв. К чему приведет это в дальнейшем, я сказать не берусь.
Что-то подсказывает что вы работаете с выгруженными данными, и в исходном варианте это набор таблиц справочников с перечнем a,b,с .... и таблица связывающая эти данныи по ID. , что и правильно, и компактнее.Прислушайтесь к совту
Для хранения большого объема - используйте предназначенные для этого инструменты:
Access, SQL.
Может SQL и перебор, но access точно ва выручит.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
ОС у меня 64-разрядная, но увы.

А где я упоминал про ОС? Вы проверьте разрядность MS Office

Вы описываете нормальную таблицу с данными, которую хотите после перестроить в сводную. и тем самым избавится от дубликатв. К чему приведет это в дальнейшем, я сказать не берусь.
Что-то подсказывает что вы работаете с выгруженными данными, и в исходном варианте это набор таблиц справочников с перечнем a,b,с .... и таблица связывающая эти данныи по ID. , что и правильно, и компактнее.Прислушайтесь к совту
Для хранения большого объема - используйте предназначенные для этого инструменты:
Access, SQL.
Может SQL и перебор, но access точно ва выручит.

Автор - bmv98rus
Дата добавления - 03.03.2017 в 00:19
_Boroda_ Дата: Пятница, 03.03.2017, 01:01 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация: 6667 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Мурад, если у Вас 2007, то там можно даже не искать - у Вас точно 32-битная. 64 стали делать, начиная с 2010.
И таки да, совершенно согласен с Михаилом в части Excel - на старой работе мы именно поэтому перешли на 2010 с 2007. У нас Access не тянул запросы к большим базам (но не близким к 2 Гб - это отдельная песня у Акса, которая к нашему вопросу сейчас не относится). Стали разбираться - видим, что 2 Гига оперативки ест, а больше не хочет. Полезли в интернет смотреть и нашли, что сколько памяти не ставь, все равно будет работать только 2 Гига.

Вот еще Майкрософт пишет https://msdn.microsoft.com/ru-ru....29.aspx
Там много интересного, в частности, и про это тоже

А вот в части Access не совсем согласен - там ограничение на вес базы 2 Гига. Помню, приходилось работать с базами, даже немногим больше, но совсем ненамного и они жутко тормозили, приходилось разбивать их на две связанных.
Если я правильно помню, там было около 1 300 000 записей (строк) и 60 полей (столбцов). Данные числовые и текстовые. Несколько полей с длинным текстом, по 400-500 символов


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМурад, если у Вас 2007, то там можно даже не искать - у Вас точно 32-битная. 64 стали делать, начиная с 2010.
И таки да, совершенно согласен с Михаилом в части Excel - на старой работе мы именно поэтому перешли на 2010 с 2007. У нас Access не тянул запросы к большим базам (но не близким к 2 Гб - это отдельная песня у Акса, которая к нашему вопросу сейчас не относится). Стали разбираться - видим, что 2 Гига оперативки ест, а больше не хочет. Полезли в интернет смотреть и нашли, что сколько памяти не ставь, все равно будет работать только 2 Гига.

Вот еще Майкрософт пишет https://msdn.microsoft.com/ru-ru....29.aspx
Там много интересного, в частности, и про это тоже

А вот в части Access не совсем согласен - там ограничение на вес базы 2 Гига. Помню, приходилось работать с базами, даже немногим больше, но совсем ненамного и они жутко тормозили, приходилось разбивать их на две связанных.
Если я правильно помню, там было около 1 300 000 записей (строк) и 60 полей (столбцов). Данные числовые и текстовые. Несколько полей с длинным текстом, по 400-500 символов

Автор - _Boroda_
Дата добавления - 03.03.2017 в 01:01
bmv98rus Дата: Пятница, 03.03.2017, 08:18 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4149
Репутация: 772 ±
Замечаний: 0% ±

Excel 2013/2016
Александр,
А вот в части Access не совсем согласен
Допускаю, что прирост данных незначительный, а при правильной организации справочников будет компактнее (это к слову даже в экселе можно сделать разбив на отдельные таблицы со связями), что позволит работать, но конечно скорости ждать не придется, хотя производительност ПК, SSD .... сильно это изменили. Хотелось бы посомтреть на эти данные, из любопытства. И главное, как они попадают к ТС, как дополняются. И главное, какова задача использования этих данных, ведь запросом нужные дернуть даже из этих файлов можно.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 03.03.2017, 08:19
 
Ответить
СообщениеАлександр,
А вот в части Access не совсем согласен
Допускаю, что прирост данных незначительный, а при правильной организации справочников будет компактнее (это к слову даже в экселе можно сделать разбив на отдельные таблицы со связями), что позволит работать, но конечно скорости ждать не придется, хотя производительност ПК, SSD .... сильно это изменили. Хотелось бы посомтреть на эти данные, из любопытства. И главное, как они попадают к ТС, как дополняются. И главное, какова задача использования этих данных, ведь запросом нужные дернуть даже из этих файлов можно.

Автор - bmv98rus
Дата добавления - 03.03.2017 в 08:18
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!