Получить "абсолютный путь к книге" из файла .xls
Когда я использую Excel "Инспектор документов" в определенном файле .xls для проверки "скрытых свойств или личной информации", он говорит:
Была найдена следующая информация о документе:
* Абсолютный путь к книге
Как я могу получить абсолютный путь книги из файла? Если это необходимо сделать программным способом, я могу использовать Java (например, Apache POI) или VBA.
Я знаю, где файл в настоящее время сохранен, но то, что я хочу извлечь, является абсолютным путем к книге, которая сохраняется в файле, который у меня есть. Это значит, что я могу знать, где он был сохранен автором.
Вот что случилось с файлом:
- Кто-то его создал, сохранив его в некотором абсолютном неизвестном мне файловом пути
- Они загрузили его на веб-сайт
- Я загрузил его с веб-сайта
Excel указывает, что документ содержит абсолютный путь с шага 1. Я следую этому пути, а не тому месту, где я его сохранил на шаге 3, так как знаю это.
Ответы
Ответ 1
Я могу воспроизвести это предупреждение, просто создав пустой файл Excel, добавив формулу, сохранил ее как BIFF8 (.xls). Затем инспектор документов предупредит об абсолютном пути.... но в моем случае в файле не было имени файла.
Простым способом проверки этого является открытие файла в шестнадцатеричном редакторе и поиск известного местоположения сохранения (т.е. место, где хранился фиктивный/тестовый файл) - это либо хранится как ASCII, либо как 16-битная строка, т.е. каждый нечетный байт является символом.
Если вы хотите использовать инструменты разработчика POI, вы можете использовать следующее:
Перечислить все записи Excel:
java -cp poi-3.16-beta1.jar org.apache.poi.hssf.dev.BiffViewer file.xls
Перечислить свойства документа и сводки:
java -cp poi-3.16-beta1.jar org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor file.xls
Чтобы перечислить любые внедренные объекты рядом с обычными подозреваемыми SummaryInformation
, DocumentSummaryInformation
и Workbook
:
java -cp poi-3.16-beta1.jar org.apache.poi.poifs.dev.POIFSLister file.xls
Итак, после запуска инструментов и записи вывода вы можете удалить свойства с помощью Excel Document Inspector и снова выполнить инструменты. Выход может быть разным, и вы можете найти виновника.
Ответ 2
Предполагая, что это файл .xlsx
, а не файл .xls
более старого стиля, вы можете
- Переименуйте книгу как файл
.zip
- Посмотрите на
xl\workbook.xml
"файл" в файле .zip
и вы найдете абсолютный путь при последнем сохранении из Excel.
Вот почему не рекомендуется делиться рабочими таблицами с другими людьми, если только вы не сначала очистите эту информацию.
Я не уверен, как найти его в файлах двоичного формата.