2013-09-29 3 views
-2

Использование Apache POI, я могу добавить изображение (ы) в рабочие листы без графика, но он не работает листы с графикамиApache POI: добавление изображения (ы) в рабочие листы, содержащие диаграммы

Проблема: невозможно открыть выход файл от excel!

Почему нет? Есть ли решение?

InputStream inputStreamXls = new FileInputStream("c:\\temp\\template.xls"); 
XSSFWorkbook workbook = new XSSFWorkbook(inputStreamXls); 
XSSFSheet sheet = workbook.getSheetAt(0); 
inputStreamXls.close(); 

InputStream inputStreamImg = new FileInputStream("c:\\temp\\logo.png"); 
byte[] bytes = IOUtils.toByteArray(inputStreamImg); 
int pictureIdx = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG); 
inputStreamImg.close(); 

CreationHelper helper = workbook.getCreationHelper(); 
Drawing drawing = sheet.createDrawingPatriarch(); 
ClientAnchor anchor = helper.createClientAnchor(); 
anchor.setCol1(x); 
anchor.setRow1(y); 
Picture pict = drawing.createPicture(anchor, pictureIdx); 

// save workbook 
String file = "c:\\temp\\output_file.xls"; 
FileOutputStream fileOut = new FileOutputStream(file); 
workbook.write(fileOut); 
fileOut.close(); 
+0

Я прочитал эту интересующую тему http://osdir.com/ml/user-poi.apache.org/2009-08/msg00104.html. Я попробую с JExcelAPI ... – dsea

ответ

0

Ваш код использует XSSFWorkbook для чтения и записи файлов .xls. XSSFWorkbook предназначен для файлов .xlsx. Используйте HSSFWorkbook.

+0

спасибо за ваш anwser, но это причина моей проблемы! – dsea

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