2009-09-08 2 views
0

У меня есть куча огромных отчетов Excel, созданных JExcel. Теперь компания styleguide изменилась, и у кого-то была отличная идея добавить некоторые логотипы в нижний колонтитул. К сожалению, добавление изображений в верхний или нижний колонтитулы невозможен с помощью JExcel. В качестве обходного пути я в настоящее время изменяю файлы PDF, созданные из файлов Excel, с помощью iText и добавляя изображения на каждую страницу. Проблема все еще остается: в нижнем колонтитуле файла Excel отсутствует изображение только в файле PDF.Java Excel API: Добавить изображения в нижний колонтитул Excel файлов

Есть ли идеи, как избавиться от этой проблемы? Есть ли другой бесплатный (?) Java Excel API, который может помочь? Я пробовал Apache POI, но безуспешно.

Заранее благодарен!

ответ

0

Как вы можете изменить файлы excel с помощью Apache POI и JExcel, почему бы вам не использовать файл шаблона, уже содержащий логотип в нижнем колонтитуле?

+0

Я уже пытался использовать шаблон с изображением внутри нижнего колонтитула. к сожалению, изображение внутри нижнего колонтитула (без текста нижнего колонтитула) теряется после написания файла excel. – Aldjinn

+0

Я только что попытался добавить изображение в нижний колонтитул, но это невозможно в моей версии Excel (2000). Какую версию Excel вы используете? Если в 2007 году вы попробовали метод файла шаблона с помощью POI и XSSF API? Это единственное, что поддерживает excel 2007. – pgras

+0

Я использую Excel 2003 и шаблоны, созданные с помощью Excel 2003. Проблема в том, что JExcel и POI также не позволяют добавлять что-либо, кроме текстовых объектов нижнего колонтитула. – Aldjinn

1
WritableSheet s = w.createSheet("Report", 0); 
BufferedImage input = ImageIO.read(new URL("http://example.com/image.jpg")); 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
ImageIO.write(input, "PNG", baos); 
s.addImage(new WritableImage(0,0,input.getWidth()/CELL_DEFAULT_WIDTH, input.getHeight()  /CELL_DEFAULT_HEIGHT,baos.toByteArray())); 
s.mergeCells(0,0,0,2); 

Приведенный выше код помещает изображение в верхнем левом углу, если он нужен внизу, а затем просто меняйте координаты согласно вашему желанию.

Смежные вопросы