[英]Apache POI All Image Insert to Excel failing due to one corrupt image
我准備了一個代碼,該代碼從存儲圖像的數據庫字段中獲取字節作為BLOB並將其插入到使用apache poi 3.9版的excel文件中
該代碼可以正常工作,並且在大多數情況下,圖像會被拉出並錨定到指定的列和行。
這是代碼:
Blob img = ads.getPhoto();
byte[] imageByte = ads.getPhoto().getBytes(1, (int) img.length());
if (imageByte.length > 10) {
try {
int picId = workbook.addPicture(imageByte, workbook.PICTURE_TYPE_JPEG);
CreationHelper helper = workbook.getCreationHelper();
Drawing drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setCol1(2);
anchor.setCol2(3);
anchor.setRow1(rowId);
anchor.setRow2(rowId + 1);
Picture pict = drawing.createPicture(anchor, picId);
System.out.println("TEST PRINT");
} catch (Exception ex) {
ex.printStackTrace();
}
現在,我縮小到一張引起問題的圖像。 這個斑點對我來說還不錯。 但是,當插入所有圖像以及該特定圖像時,所有圖像將被刪除,並且excel將打開並顯示錯誤消息: “文件錯誤:數據可能已丟失”
Excel中不顯示繪圖族長中的任何圖像。 如果我跳過此特定行,則圖像在excel中顯示良好。 它只是與此特定的圖像。
誰能幫我一種方法來檢查其中一張圖紙是否存在錯誤,如果發現錯誤,請跳過該錯誤,以便保留其余圖像並僅刪除該圖像。
任何與此有關的建議都會有很大幫助。 提前致謝。
在這種情況下,切換到XSSF是可行的。 損壞的圖像顯示帶有無效的圖像圖標。 並且所有其他人口仍然適當地居住。
但是使用poi.3.15時XSSF的性能非常差。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.