



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
下面是本人使用java的poi实现使用模板到处excel,内容包含图片,使用两种不同的方式实现其到处excel。但是使用jxl实现到处excel只能到处png格式。package com.rxc.servlet;import java.awt.image.BufferedImage;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFClientAnchor;import org.apache.poi.hssf.usermodel.HSSFPatriarch;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class OutExcelServlet extends HttpServlet private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String accident_id = request.getParameter(accident_id);String OnputimagePath = null;/*使用poi实现excel模版 导出excel*/try POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(d:设备异常分析报告.xls);HSSFWorkbook wb = new HSSFWorkbook(fs);HSSFSheet sheet = wb.getSheet(设备异常分析报告);HSSFRow row = sheet.getRow(2);HSSFCell cell = row.getCell(short) 2);if (cell = null)cell = row.createCell(short) 2);cell.setCellType(HSSFCell.CELL_TYPE_STRING);cell.setCellValue(12321212);ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();String InputimagePath = d:1012051443548604211337adf6.jpg; BufferedImage bufferImg = ImageIO.read(new File(InputimagePath);ImageIO.write(bufferImg,JPG,byteArrayOut);/设置图片大小,位置HSSFClientAnchor anchor = new HSSFClientAnchor(5,0,500,122,(short) 0, 5,(short)10,15); /创建HSSFPatriarch patri = sheet.createDrawingPatriarch();patri.createPicture(anchor ,wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_PNG);/ 输出文件OnputimagePath = d:test1.xls;FileOutputStream fileOut = new FileOutputStream(OnputimagePath);wb.write(fileOut);fileOut.close(); catch (Exception e) e.printStackTrace(); / 检查文件是否存在 File obj = new File(OnputimagePath); if (!obj.exists() response.setContentType(text/html;charset=GBK); response.getWriter().print(指定文件不存在!); return; / 读取文件名:用于设置客户端保存时指定默认文件名 int index = OnputimagePath.lastIndexOf(); / 前提:传入的path字符串以“”表示目录分隔符 String fileName = OnputimagePath.substring(index + 1); / 写流文件到前端浏览器 ServletOutputStream out = response.getOutputStream(); response.setHeader(Content-disposition, attachment;filename= + fileName); BufferedInputStream bis = null; BufferedOutputStream bos = null; try bis = new BufferedInputStream(new FileInputStream(OnputimagePath); bos = new BufferedOutputStream(out); byte buff = new byte2048; int bytesRead; while (-1 != (bytesRead = bis.read(buff, 0, buff.length) bos.write(buff, 0, bytesRead); catch (IOException e) throw e; finally if (bis != null) bis.close(); if (bos != null) bos.close(); /*使用jxl实现excel模版 导出excel 但导出图片仅支持png格式* String realpath = D:/test.xls; try CopeDate data = new CopeDate(); MapList mp = data.getdata(accident_id); /选择模板文件: Workbook wb = Workbook.getWorkbook(new File(realpath); /第二步:通过模板得到一个可写的Workbook:第一个参数是一个输出流对象,第二个参数代表了要读取的模板 File targetFile = new File(D:/test1.xls); WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb); /第三步:选择模板中名称为设备异常的Sheet: WritableSheet wws = wwb.getSheet(JustCell); /第四步:选择单元格,写入动态值,根据单元格的不同类型转换成相应类型的单元格: Label A1 = new Label(0, 1,mp.getRow(0).get(accident_name); wws.addCell(A1); /插入图片 File imgFile = new File(D:/test.png); WritableImage image = new WritableImage(2, 1, 8, 20, imgFile); wws.addImage(image); wwb.write(); wwb.close(); wb.close(); catch (BiffException e) /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中生物第二章生物个体的稳态第四节植物生命活动的调节省公开课一等奖新课获奖课件
- 独尾草创新创业项目商业计划书
- 河南物业考试试题及答案
- 动画色彩考试题目及答案
- 2025届山西省运城运康中学九上数学期末考试模拟试题含解析
- 河北省石家庄市行唐县2024-2025学年八年级物理第一学期期末监测试题含解析
- 滴定分析法概述代明花68课件
- 2025版汽车维修场地租赁与维修配件供应合同
- 二零二五版文化节场地租赁专项协议
- 二零二五年度餐饮管理软件销售与顾客满意度提升合同
- 严重过敏反应诊断和临床管理专家共识(2025)解读课件
- 人行雨棚施工方案
- 刑事和解协议书自诉
- 三方委托收款协议范本8篇
- 奶茶服务协议合同
- 书籍保密协议书范文
- 2025年秋季学期特殊教育教学工作计划
- 基层护理进修后回院汇报
- 护理查对制度安全警示教育
- 2024年四川成都农业科技中心招聘笔试真题
- 2025年滨州生物会考试题及答案
评论
0/150
提交评论