Изображения Excel отображаются в виде красного крестика при экспорте моей таблицы HTML в отчет excel

#javascript #excel #html-table #export #report

Вопрос:

У меня есть система отчетности, которая должна отображать набор готовых проектов, а также 3 изображения готовых проектов. Изображения размещены на моем статическом файловом сервере.

Когда я создаю отчет, я отправляю путь сохранения изображений на свой интерфейс, а затем на интерфейсе я добавляю путь сохранения к URL-адресу статического сервера, а затем помещаю его в src атрибут img тега (на самом деле это мой собственный компонент React Image, но все равно).

Поэтому, когда я создаю отчет и просматриваю его через свою систему отчетности, все работает, когда я экспортирую его в формате PDF, все работает, но когда я экспортирую его в excel, он не отображает изображения. Я попробовал следующие 3 метода:

  1. Использование sheetjs — это был инструмент, которым я пользовался до сих пор более года, но они требуют оплаты в размере 800 долларов США, чтобы предоставить мне возможность отображать изображения внутри моего xlsx.
  2. С помощью @linways/table-to-excel которого afaik в настоящее время не поддерживается. Я попробовал следующее:

    TableToExcel.convert(print, {name: props.name " - " props.datesInfo})

    но это не сработало — он просто отображал текст и игнорировал изображения.

  3. Наконец, я попытался с encodeURIComponent помощью функции закодировать свой html как data:application/vnd.ms-excel . Удивительно, но это был самый простой и наименее раздутый способ (не требует никаких пакетов) и работал лучше всего. Это было некрасиво, но, по крайней мере, у меня было что — то-образы. Однако изображения выглядели просто как красный крест (x).

Кто-нибудь знает, как решить эту проблему с красным крестом (x)? Может быть, это какая-то проблема с кодировкой или, может быть, какие-то меры безопасности MS Office Excel?

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

Фотографии на самом деле появлялись в отчете, просто я использовал веб-версию Excel, потому что я, кстати, использую Arch Linux и не имею доступа к родной версии Excel без установки вредоносных программ, таких как Wine и Winetricks, а что нет. Все в порядке, я даже придумал, как добавлять стили. Если кто-то застрянет на стилях, убедитесь, что это встроенные стили и только на td и th . CSS не возьмет.