/**
* 图片转为byte数组(展示在excel上)
*
* @param path
* @return
*/
public static void image2byte(Workbook wb, SXSSFDrawing patriarch, String path, int rowIndex) throws IOException {
byte[] data = null;
URL url = null;
InputStream input = null;
try{
url = new URL(path);
HttpURLConnection httpUrl = (HttpURLConnection) url.openConnection();
httpUrl.connect();
httpUrl.getInputStream();
input = httpUrl.getInputStream();
}catch (Exception e) {
e.printStackTrace();
}
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int numBytesRead = 0;
while ((numBytesRead = input.read(buf)) != -1) {
output.write(buf, 0, numBytesRead);
}
data = output.toByteArray();
output.close();
input.close();
/* File file = new File("C:\\online\\" + path.substring(26));
if(!file.exists()){
//先得到文件的上级目录,并创建上级目录,在创建文件
file.getParentFile().mkdir();
try {
//创建文件
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
FileOutputStream out = new FileOutputStream(file);
out.write(data);
out.close();*/
//rowIndex代表当前行
try {
if (path != null) {
//anchor主要用于设置图片的属性
XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 1024000, 3072000, (short) 3, rowIndex, (short) 3,
rowIndex);
//Sets the anchor type (图片在单元格的位置)
anchor.setAnchorType(ClientAnchor.AnchorType.byId(0));
patriarch.createPicture(anchor, wb.addPicture(data, HSSFWorkbook.PICTURE_TYPE_JPEG));
}
} catch (Exception e) {
e.printStackTrace();
}
}
java 导出图片地址(青牛云地址)展示图片
于 2021-06-16 14:05:04 首次发布