Когда и почему файл * .xlsx содержит файл * .bin? - PullRequest
3 голосов
/ 26 марта 2020

В настоящее время я работаю над проектом, чтобы оценить, является ли загруженный файл *.xlsx действительно файлом *.xlsx, а не *.xlsm с измененным расширением.

Поскольку файл *.xlsx является более или менее файлом *.zip, я извлек его содержимое и заметил, что некоторые файлы содержат файл *.bin, а другие - нет. Несмотря на то, что файл Excel может быть файлом git, без каких-либо попыток ввести другое расширение, обманом заставив пользователя переименовать его.

Поэтому мой вопрос: когда файл xlsx содержит файл *.bin ? И подходит ли этот метод для определения наличия в файле xlsx макросов?

Я также проверяю содержимое файла [content_types].xml на наличие одной из строк: application/vnd.ms-office.vbaproject и application/vnd.ms-excel.sheet.macroenabled.

1 Ответ

4 голосов
/ 26 марта 2020

Когда файл xlsx содержит файл * .bin?

Ну, файлы bin создаются не только для рабочих книг с макросами, но и для рабочих книг, в которые встроены объекты OLE.

Попробуйте это. Создайте новую книгу и нажмите Developer Tab | Insert ActiveX control - Say Commandbutton. Сохраните и закройте файл как .xlsx. Переименуйте в .Zip и проверьте почтовый файл

enter image description here

Редактировать :

И да иногда хранить настройки принтера, а также. Сделал быстрый поиск и наткнулся на ЭТУ ссылку

Извлечение вышеуказанной ссылки на случай, если ссылка умрет.

В дополнение к проектам VBA и внедренным объектам OLE мы находим Элементы BIN в файлах Excel 2007 .XLSB по следующим причинам:

  1. Часть книги Workbook.bin (MIME-тип: application / vnd.ms-excel.workbook)
  2. Часть словаря стилей styles.bin (MIME-тип: application / vnd.ms-excel.styles)
  3. Для каждого рабочего листа

    a. рабочих частей индекса .bin (тип MIME: application / vnd.ms-excel.binIndexWs)

    b. рабочий лист части листа / sheetxxx.bin (тип MIME: application / vnd.ms-excel. лист)

    c. дополнительная часть настроек принтера printerSettings / printerSettingsxxx.bin (MIME-тип: application / vnd.openxmlformats-officedocument.spreadsheetml.printerSettings)

  4. Дополнительная часть расчета цепи calcChain.bin (MIME-тип: Applicati on / vnd.ms-excel.calcChain)

  5. Необязательные комментарии частями commentsxxx.bin (MIME-тип: application / vnd.ms-office.legacyDrawing)
  6. Необязательные таблицы частями таблиц / tablexxx.bin (MIME-тип: application / vnd.ms-excel.table)
  7. Необязательные части соединения частей connections.bin (MIME-тип: application / vnd.ms-excel.connections)
  8. Необязательно Диаграммы, диалоговые листы, части макроса листов (chartsheets / sheetxxx.bin, dialogsheets / sheetxxx.bin, macrosheets / sheetxxx.bin) (тип MIME: application / vnd.ms-excel.chartsheet, application / vnd.ms-excel.dialogsheet, приложение /vnd.ms-excel.macrosheet)
  9. Дополнительные части сводной таблицы (pivotTables / pivotTablexxx.bin) (MIME-тип: application / vnd.ms-excel.pivotTable)
  10. Дополнительный кэш сводной таблицы части определения и записи (pivotCache / pivotCacheDefinitionxxx.bin, pivotCache / pivotCacheRecordsxxx.bin) (MIME-тип: application / vnd.ms-excel.pivotCacheDefinition, application / vnd.ms-excel.pivotCacheRecords)
  11. Необязательный все таблицы (queryTables / queryTablexxx.bin) (MIME-тип: application / vnd.ms-excel.queryTable)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...