Добрый день. Программисты сформировали по нашему запросу 2 файла по Ссылка удалена Файл changes.xlsx весом 500 метров после определенного времени худо-бедно открывается. А вот файл 3829_main.xlsx весом 850 метров мой ПК открыть уже не в состоянии (оперативка 8 Гб, i3 3,7 ГГц). Для справки, в файле changes.xlsx содержится 4,2 млн строк на 5 вкладках (каждая следующая вкладка это продолжение таблицы из предыдущего листа). Общее количество заполненных ячеек в книге - 120 млн. Форматирование в обеих книгах отсутствует. Как можно оптимизировать файлы? Хотя бы сделать возможным открытие основного файла
Добрый день. Программисты сформировали по нашему запросу 2 файла по Ссылка удалена Файл changes.xlsx весом 500 метров после определенного времени худо-бедно открывается. А вот файл 3829_main.xlsx весом 850 метров мой ПК открыть уже не в состоянии (оперативка 8 Гб, i3 3,7 ГГц). Для справки, в файле changes.xlsx содержится 4,2 млн строк на 5 вкладках (каждая следующая вкладка это продолжение таблицы из предыдущего листа). Общее количество заполненных ячеек в книге - 120 млн. Форматирование в обеих книгах отсутствует. Как можно оптимизировать файлы? Хотя бы сделать возможным открытие основного файлаМурад
Сообщение отредактировал SLAVICK - Четверг, 02.03.2017, 12:35
Зачем хранить такой объем в файле 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
В отношении смены подхода, полностью поддерживаю предыдущего оратора
Но временно могу предположить что вы дошли до ограничений 32х разрядного Excel. Сколько б памяти небыло на пк, более 2х гиглв 32х разрядное приложение не схавает. Ставьте x64 и продолжайте мучать себя и комп.
В отношении смены подхода, полностью поддерживаю предыдущего оратора
Но временно могу предположить что вы дошли до ограничений 32х разрядного Excel. Сколько б памяти небыло на пк, более 2х гиглв 32х разрядное приложение не схавает. Ставьте x64 и продолжайте мучать себя и комп.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Четверг, 02.03.2017, 14:00
Спасибо, 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 файла в один, для начала
Спасибо, 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
А где я упоминал про ОС? Вы проверьте разрядность MS Office
Вы описываете нормальную таблицу с данными, которую хотите после перестроить в сводную. и тем самым избавится от дубликатв. К чему приведет это в дальнейшем, я сказать не берусь. Что-то подсказывает что вы работаете с выгруженными данными, и в исходном варианте это набор таблиц справочников с перечнем a,b,с .... и таблица связывающая эти данныи по ID. , что и правильно, и компактнее.Прислушайтесь к совту
А где я упоминал про ОС? Вы проверьте разрядность MS Office
Вы описываете нормальную таблицу с данными, которую хотите после перестроить в сводную. и тем самым избавится от дубликатв. К чему приведет это в дальнейшем, я сказать не берусь. Что-то подсказывает что вы работаете с выгруженными данными, и в исходном варианте это набор таблиц справочников с перечнем a,b,с .... и таблица связывающая эти данныи по ID. , что и правильно, и компактнее.Прислушайтесь к совту
Мурад, если у Вас 2007, то там можно даже не искать - у Вас точно 32-битная. 64 стали делать, начиная с 2010. И таки да, совершенно согласен с Михаилом в части Excel - на старой работе мы именно поэтому перешли на 2010 с 2007. У нас Access не тянул запросы к большим базам (но не близким к 2 Гб - это отдельная песня у Акса, которая к нашему вопросу сейчас не относится). Стали разбираться - видим, что 2 Гига оперативки ест, а больше не хочет. Полезли в интернет смотреть и нашли, что сколько памяти не ставь, все равно будет работать только 2 Гига.
А вот в части Access не совсем согласен - там ограничение на вес базы 2 Гига. Помню, приходилось работать с базами, даже немногим больше, но совсем ненамного и они жутко тормозили, приходилось разбивать их на две связанных. Если я правильно помню, там было около 1 300 000 записей (строк) и 60 полей (столбцов). Данные числовые и текстовые. Несколько полей с длинным текстом, по 400-500 символов
Мурад, если у Вас 2007, то там можно даже не искать - у Вас точно 32-битная. 64 стали делать, начиная с 2010. И таки да, совершенно согласен с Михаилом в части Excel - на старой работе мы именно поэтому перешли на 2010 с 2007. У нас Access не тянул запросы к большим базам (но не близким к 2 Гб - это отдельная песня у Акса, которая к нашему вопросу сейчас не относится). Стали разбираться - видим, что 2 Гига оперативки ест, а больше не хочет. Полезли в интернет смотреть и нашли, что сколько памяти не ставь, все равно будет работать только 2 Гига.
А вот в части Access не совсем согласен - там ограничение на вес базы 2 Гига. Помню, приходилось работать с базами, даже немногим больше, но совсем ненамного и они жутко тормозили, приходилось разбивать их на две связанных. Если я правильно помню, там было около 1 300 000 записей (строк) и 60 полей (столбцов). Данные числовые и текстовые. Несколько полей с длинным текстом, по 400-500 символов_Boroda_
Допускаю, что прирост данных незначительный, а при правильной организации справочников будет компактнее (это к слову даже в экселе можно сделать разбив на отдельные таблицы со связями), что позволит работать, но конечно скорости ждать не придется, хотя производительност ПК, SSD .... сильно это изменили. Хотелось бы посомтреть на эти данные, из любопытства. И главное, как они попадают к ТС, как дополняются. И главное, какова задача использования этих данных, ведь запросом нужные дернуть даже из этих файлов можно.
Допускаю, что прирост данных незначительный, а при правильной организации справочников будет компактнее (это к слову даже в экселе можно сделать разбив на отдельные таблицы со связями), что позволит работать, но конечно скорости ждать не придется, хотя производительност ПК, SSD .... сильно это изменили. Хотелось бы посомтреть на эти данные, из любопытства. И главное, как они попадают к ТС, как дополняются. И главное, какова задача использования этих данных, ведь запросом нужные дернуть даже из этих файлов можно.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Сообщение отредактировал bmv98rus - Пятница, 03.03.2017, 08:19