Первоначально я неправильно понял вопрос, но оставляю этот ответ на тот случай, если он пригодится другим в будущем.Для справки, я неправильно понял формулировку проблемы:
Я беспокоюсь, что если я создаю изображения верхнего / нижнего колонтитула из локальных файловых путей, эти изображения не будут отображаться при распространении файлакому-то еще.
Это не то, как работают данные верхнего / нижнего колонтитула, вот длинное объяснение.
Я проверил, добавив изображение из пути к файлу, а затем удалив картинку из этого места ("c:\debug\Leftfooter.png"
).Другими словами, файл не существует по первоначальному пути к файлу.По сути, это должен быть тот же случай, что и у сотрудника с различными сопоставлениями дисков или разрешениями и т. Д.
После повторного открытия файла изображение нижнего колонтитула все еще отображается для меня, даже если оно больше не существует намой жесткий диск:
Если файл больше не существует, как изображение сохраняется в нижнем колонтитуле Excel?
Теперьфайл изображения существует в архиве XLSX .ZIP как xl\media\picture1.png
.Таким образом, файл был включен как часть книги Excel, а не как ссылка на внешний объект файла.
Я заметил, что при запросе Sheet1.PageSetup.LeftFooterPicture.Filename
возвращаемое значение теперь просто "Leftfooter" (исходное имя файла, без квалификатора path ).
И копатьнемного глубже в лежащем в основе xml, отношение, по-видимому, отображается внутри xl\drawings\_rels\vmlDrawing1.vml.rels
, который связан с xl\worksheets\sheet1.xml
идентификатором отношения "" rID1 ".
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId1"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
Target="../media/image1.png"/>