瀏覽代碼

Add test which shows that bug 46515 is fixed since some time already.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1705807 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_14_BETA1
Dominik Stadler 8 年之前
父節點
當前提交
3109f16a7f
共有 2 個檔案被更改,包括 44 行新增0 行删除
  1. 44
    0
      src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
  2. 二進制
      test-data/spreadsheet/46515.xls

+ 44
- 0
src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java 查看文件

import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;


import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
import java.util.Locale; import java.util.Locale;
import java.util.TimeZone; import java.util.TimeZone;


import javax.imageio.ImageIO;

import org.apache.poi.EncryptedDocumentException; import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.hssf.HSSFITestDataProvider; import org.apache.poi.hssf.HSSFITestDataProvider;
import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.util.LocaleUtil; import org.apache.poi.util.LocaleUtil;
import org.junit.After; import org.junit.After;
import org.junit.Assume;
import org.junit.Ignore; import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;


wb.close(); wb.close();
} }
@Test
public void test46515() throws IOException {
Workbook wb = HSSFTestDataSamples.openSampleWorkbook("46515.xls");

// Get structure from webservice
String urlString = "http://poi.apache.org/resources/images/project-logo.jpg";
URL structURL = new URL(urlString);
BufferedImage bimage;
try {
bimage = ImageIO.read(structURL);
} catch (IOException e) {
Assume.assumeNoException("Downloading a jpg from poi.apache.org should work", e);
return;
}

// Convert BufferedImage to byte[]
ByteArrayOutputStream imageBAOS = new ByteArrayOutputStream();
ImageIO.write(bimage, "jpeg", imageBAOS);
imageBAOS.flush();
byte[]imageBytes = imageBAOS.toByteArray();
imageBAOS.close();

// Pop structure into Structure HSSFSheet
int pict = wb.addPicture(imageBytes, HSSFWorkbook.PICTURE_TYPE_JPEG);
Sheet sheet = wb.getSheet("Structure");
assertNotNull("Did not find sheet", sheet);
HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 0, 0, (short) 1, 1, (short) 10, 22);
anchor.setAnchorType(2);
patriarch.createPicture(anchor, pict);

// Write out destination file
// FileOutputStream fileOut = new FileOutputStream("/tmp/46515.xls");
// wb.write(fileOut);
// fileOut.close();

wb.close();
}
} }

二進制
test-data/spreadsheet/46515.xls 查看文件


Loading…
取消
儲存