Страницы: 1
RSS
Отличие *.xlsx и *.xlsb
 
Добрый день,

Возник следующий вопрос.
Отличаются ли форматы экселя *.xlsx и *.xlsb по каким нить техническим характеристикам?
То есть есть ли в формате *.xlsb какие нить функциональные ограничения?
 
день добрый,
скажу только то, что сам заметил - в xlsx нельзя хранить макросы, в xlsb - можно.
xlsb использует двоичную систему для хранения данных. для сравнения откройте в архиваторе xlsx и xlsb.
Плюс - меньше весит. Минус нельзя считать файл в других средах программирования (delphi, R, python  и т.д)
 
Данный вопрос уже обсуждался на этом форуме: ссылка

Самый полезный ответ по этому вопросу:

Цитата
Так как звучали разные мнения, то на всякий случай отмечу, что бинарный формат файла XLSB - полноценный, то есть в нем можно смело делать все, что дозволено для XLSX и XLSM.

Более того, при больших объемах данных загрузка и пересчет XLSB может быть в несколько раз быстрее, чем XLSX и XLSM. Это связано с тем, что данные XLSX и XLSM файлов представлены в объемном текстовом виде с XML-разметкой.
При загрузке и пересчете Excel перекодирует такой текст в родной для него бинарный формат. А XLSB конвертировать почти не нужно.

Но следствием преимущества XLSB формата является его недостаток, а именно то, что этот формат закрытый, т.е. официально не описан, хотя ссылку на неофициальное описание я уже давал:
http://www.codeproject.com/KB/cs/office2007bin.aspx

XML-документы файлов XLSX и XLSM легко корректируется даже текстовым редактором, в XLSB файле большая часть выполнена в не редактируемом бинарном формате, что является некоторым ограничением. XML-документы (XLSX,XLSM) облегчают обмен данными между различными приложениями и перспективны для Web-приложений. Начальное представление о XML можно получить, например, здесь: http://ru.wikipedia.org/wiki/XML.

От себя приведу результаты тестов по размеру файлов:
(ПК: Windows 7, 2Gb RAM)

Файл "BASE2013" - 450 759 строк, 24 ячейки в cтроке, формат: числа, даты, текст
Результат сохранения: (см. скрин)
xlsx: 65 258 Кб (100%) - открывается 45 секунд
xls: 20 138 Кб (31%) - (влезло только 65536 строк из 450759)
xlsb: 9 744 Кб (15%) - открывается 8 секунд

Файл "БАЗА" - в 3 раза больше данных (за 3 года) формат данных тот же.
Результат сохранения:
xlsx: 167 876 Кб (100%)
xls: 65 345 Кб (39%) (влезло только 65536 строк)
xlsb: 34 292 Кб (20%)

PS: Разница в размере файлов - очень существенна, "xlsb" в 5-7 раз меньше чем "xlsx"(см. скрин)

Что касается сжатия, "xlsb" как я понял уже сжат самим офисом (см второй скрин)
xlsx: 167 876 Кб (100%) -> 108 109 Кб rar (64%)
xls: 65 345 Кб (39%) -> 7 083 Кб rar (4%) (в файле только 65536 строк)
xlsb: 34 292 Кб (20%) -> 31 348 Кб rar (18%)
Изменено: toxig - 16.08.2013 15:59:09
 
При формировании запроса из Power Query к файлу с базой в формате xlsb возникает ошибка, которую я побороть не смог.
При пересохранении того же файла в формат xlsx проблем при формировании запросов нет.

Win 10x64
Excel 2016x64 (16.0.7167.2015 Insider build)
OfficeProPlus 365x64
Win64forWorkstation
 
Очень люблю XLSB, но, как и vector1 столкнулся с проблемой: при построении модели не могу загнать данные, если не пересохраню, к примеру, в XLSX
 
Цитата
vector1 написал:
Power Query к файлу с базой в формате xlsb возникает ошибка
Тут проблема не сколько формата, сколько коннектора, который использует PQ при подключении к xlsb.

Зато если таблица в более-менее удобоваримом формате, то в модель данных её можно загнать и при помощи стандартного мастера "Из других источников" в Power Pivot.
Но вот если нужно собрать отчет из кучи однотипных файлов при помощи PQ, то с двоичными источниками будет, конечно беда.
Вот горшок пустой, он предмет простой...
 
Подскажите, а есть ли какие-то подвижки к тому, чтобы PQ мог нормально работать с XLSB? Просто странно, ему создают коннекторы к практически любой базе данных а родной формат (менее распространён), никак не может нормально съесть.
 
Тут пишут, что если установить движок от Access 2010, то все заработает. Сам не пробовал (нет такой нужды), попробуйте - отпишитесь.
Вот горшок пустой, он предмет простой...
 
Спасибо за совет. К сожалению нет
 
Переделайте в xlsm и BI его увидит и макрос работать будет
Страницы: 1
Наверх