在帮别人写一个档案管理系统时需要用到将数据导出为Excel表
下面是用poi实现的一个导出Excel的servlet,导出Excel文件时使用了一个Excel模板template.xls,达到规范格式的目的。
导入poi-3.0.2-FINAL-20080204.jar包就可使用。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("APPLICATION/OCTET-STREAM"); //response设置ContentType响应文档类型
String name=request.getParameter("name");
response.setHeader("Content-Disposition","attachment;fileName=mulu.xls"); //设置请求头fileName是保存文件名
List<MuLu> mulus=dao.getMuLuByName(name); //从数据库里取出目录表内容
String path=request.getRealPath("/"); //取得当前路径
POIFSFileSystem fs=new POIFSFileSystem(new FileInputStream(path+"template.xls")); //读取Excel模版
HSSFWorkbook wb=new HSSFWorkbook(fs); //创建一个工作区 HSSFWorkbook类表示一个工作区
HSSFSheet sheet = wb.getSheetAt(0); //创建一个表 HSSFSheet类表示一个表
HSSFCellStyle style = wb.createCellStyle(); //创建单元格样式 HSSFCellStyle类表示样式
style.setVerticalAlignment(style.VERTICAL_CENTER); //设置垂直居中
for(int i=2;i<mulus.size()+2;i++){
HSSFRow row = sheet.createRow(i); //创建一行 HSSFRow表示一行
row.setHeightInPoints(24); //设置行高
MuLu ml=mulus.get(i-2); //取出表项
HSSFCell cell0=row.createCell((short)0); //创建一个单元格 HSSFCell类表示单元格
cell0.setCellValue(ml.getSxh()); //设置单元格内容
cell0.setCellStyle(style); //设置单元格样式
HSSFCell cell1=row.createCell((short)1);
cell1.setCellValue(ml.getWh());
cell1.setCellStyle(style);
HSSFCell cell2=row.createCell((short)2);
cell2.setCellValue(ml.getZrz());
cell2.setCellStyle(style);
HSSFCell cell3=row.createCell((short)3);
cell3.setCellValue(ml.getTm());
cell3.setCellStyle(style);
HSSFCell cell4=row.createCell((short)4);
cell4.setCellValue(ml.getRq());
cell4.setCellStyle(style);
HSSFCell cell5=row.createCell((short)5);
if(ml.getYh()!=0){
cell5.setCellValue(ml.getYh());
cell5.setCellStyle(style);
}
HSSFCell cell6=row.createCell((short)6);
cell6.setCellValue(ml.getBz());
cell6.setCellStyle(style);
}
try {
wb.write(response.getOutputStream()); //将excel写入response的输出流中
response.getOutputStream().flush(); //刷新IO
response.getOutputStream().close(); //关闭IO
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
分享到:
相关推荐
使用POI筛选字段导出Excel,以及条件查询和指定数据导出
在本案例中,我们关注的是如何使用 Apache POI 库来导出 Excel 文件,特别是根据模板导出和简单列表导出。下面将详细介绍这个过程。 1. **Apache POI 概述** Apache POI 提供了 Java API 来读写 Microsoft Office ...
在这里,我们结合这两个技术,通过Struts1控制器来调用POI功能,将数据库中的数据导出为Excel文件。 要实现这个功能,我们需要以下步骤: 1. **准备数据库连接**:首先,我们需要建立与数据库的连接。这通常通过...
POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI导出POI...
在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...
标题中的“用POI把数据导出为Excel”是指使用Apache POI库来创建和操作Microsoft Excel文件。Apache POI是Java中一个流行的开源库,它允许开发者读取、写入和修改MS Office格式的文件,包括Excel。在这个场景中,...
以下是一个简化的示例,演示了如何使用POI导出Excel: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.io....
同时,提及的“使用方法见com.teacherInfo.export.test.Test”,意味着在提供的代码示例中,你可以找到一个名为Test的测试类,这个类中包含了如何使用POI进行数据导出的具体步骤和逻辑。 “提供依赖的POI开发包”...
本文将详细介绍如何使用 POI 结合模板文件生成 Excel,并通过示例代码具体展示每一步的操作。 #### 第一步:设置 Excel 模板路径 (setSrcPath) ```java public void setSrcPath(String srcXlsPath) { this....
七、导出Excel文件 最后,将Workbook写入OutputStream或File,完成导出: ```java try (FileOutputStream out = new FileOutputStream("output.xlsx")) { workbook.write(out); } catch (IOException e) { e....
在IT行业中,处理大数据量的Excel文件是一项挑战,特别是在数据导出时,如果单线程操作,可能会导致性能瓶颈和长时间的等待。Apache POI是一个流行的Java库,它允许开发者创建、修改和显示Microsoft Office格式的...
今天,我们将介绍如何使用Java POI将图片导出到Excel中。 标题解释 Java POI导出图片到Excel示例代码,标题表明了本文的主要内容,即使用Java POI将图片导出到Excel中。 描述解释 描述中提到了本文的主要内容,...
在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java POI Java POI 是一个开源的 Java 库,由 Apache 软件基金会维护。它提供了一系列的 API,用于处理 Microsoft Office 文件...
在Android开发中,有时我们需要将应用中的数据导出到Excel文件,以便用户可以方便地查看、编辑或分享。本文将详细介绍如何在Android中实现这一功能,主要涉及的技术点包括文件操作、数据序列化以及第三方库的使用。 ...
在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...
解决poi大数据量导出excel的代码,该代码中所用的jar包是poi3.9。在测试过程中单个sheet中导出20万数据没有问题。
总结来说,Java通过Apache POI库提供了强大的Excel操作能力,使开发者可以方便地将数据导出到Excel文件中。理解并掌握这一技能对于任何进行Java开发的人来说都是十分有用的。通过实践和不断探索,你可以创建更复杂的...
"使用POI导出大数据量到EXCEL"这个主题涉及到如何高效地利用POI处理大量数据并将其导出到Excel文件中。以下是对这个主题的详细讲解。 1. **Apache POI简介** Apache POI 是一个开源项目,它提供了Java API来创建、...
通过以上步骤,你可以构建一个功能完善的、使用Apache POI从数据库导出Excel的系统,使用户能够方便地从网页下载他们需要的数据。这个过程涉及到数据库操作、Java对象映射、文件流处理等多个技术点,是Java Web开发...
这样就实现了基于模板的Excel数据导出。 通过这种方式,开发者可以创建复杂的Excel报告,只需维护一个模板文件,而数据的动态插入使得程序更具灵活性。在实际应用中,还可以结合数据库查询结果,实现批量数据的导出...