package com;
import java.io.*;
import java.net.URL;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.swing.filechooser.FileSystemView;
import com.sun.image.codec.jpeg.*;//sun公司仅提供了jpg图片文件的编码api
import javax.imageio.ImageIO;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import java.awt.image.BufferedImage;
@SuppressWarnings("serial")
public class Png extends HttpServlet {
private static final String JPG = "image/jpeg;charset=GB2312";
public void init() throws ServletException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("application/vnd.ms-excel");//如果想是Word,把vnd.ms-excel改为msword
response.setHeader("Content-Disposition", "attachment; filename=admin.xls");
BufferedImage bufferImg = null;
try {
URL url = new URL(
"http://hiphotos.baidu.com/youyu0503/pic/item/3f1e42a7dbc6dfc89152ee19.jpg");
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
bufferImg = ImageIO.read(url.openStream());
ImageIO.write(bufferImg, "jpg", byteArrayOut);
// 创建一个工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 512, 255,
(short) 0,0, (short) 10, 20);
// 插入图片
patriarch.createPicture(anchor, wb.addPicture(byteArrayOut
.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
FileSystemView fsv = FileSystemView.getFileSystemView();
String a=fsv.getHomeDirectory().toString();
// 写入excel文件
wb.write(response.getOutputStream());
} catch (IOException io) {
io.printStackTrace();
System.out.println("io erorr : " + io.getMessage());
}
}
}
![](/ac/b.gif)