Как проверить скрытые данные в XLSX‑файлах

XLSX‑файл — это архив ZIP, содержащий набор XML‑файлов, описывающих лист, стили, свойства книги и т.д. Помимо видимых данных в ячейках, в таком архиве могут оставаться сведения, которые не отображаются на листе, но могут быть доступны другим пользователям или программам. Ниже перечислены самые распространённые виды скрытой информации и способы их проверки.

Основные виды скрытых данных в XLSX

  • Скрытые листы (worksheet) – лист можно скрыть через контекстное меню, но он остаётся в книге и доступен через VBA или диалог «Управление листами».
  • Скрытые строки и столбцы – строки/столбцы могут быть заданы высотой/шириной ноль или помечены как скрытые.
  • Комментарии и примечания – они привязаны к ячейкам, но могут быть спрятаны, если параметр показа комментариев выключен.
  • Пользовательские свойства документа (custom document properties) – пары «ключ‑значение», хранящиеся в файле core.xml или custom.xml.
  • Определённые имена (named ranges) – могут ссылаться на диапазоны, constants или формулы, не обязательно видимые на листе.
  • Внешние ссылки и соединения – ссылки на другие книги, серверы или потоки данных, хранящиеся в части xl/externallinks.
  • Кеш сводных таблиц и кэш данных – копии исходных данных, оставшиеся после удаления исходного листа.
  • Встроенные объекты (например, изображения, диаграммы) с свойством «Не печатать» или «Скрыть».
  • VBA‑проект и модули – в файлах с расширением .xlsm или .xlsb; в чистом .xlsx VBA не сохраняется, но могут присутствовать активные элементы управления.
  • Метаданные автора и последнего сохранителя – информация из свойств документа (author, last modified by, компания и т.д.).

Как проверить скрытые данные с помощью встроенных средств Excel

  1. Откройте файл в Excel.
  2. Перейдите на вкладку Файл → Сведения → Проверка документа (Inspect Document).
  3. Нажмите Проверить. В появившемся окне отметьте типы данных, которые хотите inspected: комментарии и примечания, скрытые листы, пользовательские свойства, заголовки и колонтитулы, пользовательские XML‑данные и т.д.
  4. После завершения проверки Excel покажет, что найдено, и предложит удалить обнаруженные элементы.
  5. Для просмотра скрытых листов: щёлкните правой кнопкой по любой вкладке листа → Управление листами. В диалоговом окне будут перечислены все листы, включая скрытые (отмечены как скрытые).
  6. Чтобы увидеть скрытые строки/столбцы, выделите весь лист (Ctrl+A) и посмотрите на номера строк и буквы столбцов – скрытые будут иметь двойную линию или отсутствовать в заголовке.
  7. Для пользовательских свойств: Файл → Сведения → Свойства → Дополнительные свойства → вкладка Пользовательские. Здесь отображаются все пары ключ‑значение.
  8. Определённые имена можно посмотреть через Формулы → Диспетчер имён.
  9. Внешние ссылки и соединения находятся в Данные → Запросы и подключения.
  10. Если файл поддерживает макросы (.xlsm), откройте редактор VBA клавишами Alt+F11 и проверьте модули, формы и классы на наличие кода.

Проверка структуры файла вручную (по желанию)

Поскольку XLSX — это ZIP‑архив, вы можете распаковать его и посмотреть содержимое XML‑файлов. Это полезно, если нужно убедиться, что определённые элементы действительно отсутствуют после очистки.

  1. Сделайте копию файла и измените её расширение на .zip (или просто используйте любой архиватор, поддерживающий ZIP).
  2. Распакуйте архив во временную папку.
  3. Основные части, которые стоит inspect:
    • xl/workbook.xml – здесь перечислены все листы; атрибут state=»hidden» указывает на скрытый лист.
    • xl/worksheets/sheet*.xml – в каждом листе можно увидеть скрытые строки/столбцы через атрибуты hidden в тегах row и col.
    • docProps/core.xml и docProps/custom.xml – содержат свойства документа (автор, компания, пользовательские свойства).
    • xl/printerSettings/printerSettings*.bin – могут хранить пользовательские настройки печати.
    • xl/comments/comments*.xml – комментарии к ячейкам.
    • xl/externalLinks/externalLink*.xml – внешние ссылки.
    • xl/pivotTables/pivotTable*.xml – кэш сводных таблиц.
  4. После анализа удалите ненужные файлы, запакуйте папку обратно в ZIP и переименуйте в .xlsx.

Ограничения и моменты, на которые стоит обратить внимание

  • Проверка документа в Excel не находит все возможные метаданные (например, некоторые пользовательские XML‑части, встроенные активные элементы управления или цифровые подписи). Для глубокого анализа могут понадобиться специализированные инструменты.
  • Если файл защищён паролем на открытие или изменение, некоторые способы проверки могут быть недоступны без ввода пароля.
  • При распаковке и повторной упаковке файла важно сохранить структуру и не повредить XML‑файлы, иначе файл может стать непрочитаемым.
  • Некоторые скрытые элементы (например, очень большие кэш‑данные pivot tables) могут значительно увеличивать размер файла, но не влиять на видимые данные.
  • При работе с корпоративными шаблонами проверяйте также наличие пользовательских XML‑частей, которые могут использоваться для хранения настроек или метаданных, не попадающих в стандартную проверку.

Практический чек‑лист перед передачей файла

  1. Откройте файл и выполните Проверка документа, отметив все доступные типы.
  2. Убедитесь, что нет скрытых листов (через Управление листами).
  3. Проверьте отсутствие скрытых строк/столбцов (выделите весь лист).
  4. Осмотрите пользовательские свойства документа.
  5. Просмотрите определённые имена и удалите ненужные.
  6. Проверьте внешние ссылки и соединения; при необходимости разорвите их.
  7. Если файл поддерживает макросы, проверьте VBA‑проект на наличие нежелательного кода.
  8. При необходимости выполните резервное копирование, распакуйте файл и проверьте XML‑части на наличие скрытых данных.
  9. Сохраните файл под новым именем или перезапишите оригинал только после подтверждения, что все лишние данные удалены.

Следуя этим шагам, вы сможете выявить и удалить большинство типов скрытой информации, которая может оставаться в XLSX‑файлах, и thereby снизить риск unintended раскрытия конфиденциальных данных или увеличения размера файла.

PEFile.ru