JAVAWeb使用POI做导出Excel
一.需要了解的API
①HSSFWorkBook //代表一个Excel文件
②HSSFSheet //代表一个表
③HSSFRow //代表一个表中的某一行
④HSSFCell //代表一个表中的某一行的某一个单元格
⑤HSSFCellStyle //单元格的样式
⑥HSSFFont //字体样式
二.导出过程代码思想
①首先创建一个载体(Excel),HSSFWorkBook wb = new HSSFWorkBook();
②在Excel创建一个sheet,HSSFSheet sheet = wb.createSheet("sheet name");
③在sheet中创建第一行,HSSFRow row = sheet.createRow(0); 注意下标从0开始
④在第一行中创建第一个单元格,HSSFCell cell = row.createCell(0); 注意下标是从0开始
⑤创建一个HSSFCellStyle style = wb.createStyle();
⑥创建一个HSSFFont font = wb.createFont();
⑦cell.setCellStyle(style); 单元格添加样式
⑧style.setFont(font); 样式中保存字体
三.代码具体实现
public static HSSFWorkbook generateItemExcel(List<PmItemMaintainMVO> ps){
// 创建一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 根据Excel创建一个sheet
HSSFSheet sheet = wb.createSheet("立项信息");
// 创建一行
HSSFRow row = sheet.createRow(0);
row.setHeight((short) 800);
// 创建字体样式 --头
HSSFFont font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setFontName("微软雅黑");
// 创建样式 --头
HSSFCellStyle styleTitle = wb.createCellStyle();
styleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
styleTitle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
styleTitle.setFont(font);
styleTitle.setBorderTop(HSSFCellStyle.BORDER_THIN);
styleTitle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
styleTitle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
styleTitle.setBorderRight(HSSFCellStyle.BORDER_THIN);
//创建字体样式 --体
HSSFFont fontCell = wb.createFont();
font.setFontName("微软雅黑");
//创建样式 --体
HSSFCellStyle styleCell = wb.createCellStyle();
styleCell.setAlignment(HSSFCellStyle.ALIGN_CENTER);
styleCell.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
styleCell.setFont(fontCell);
styleCell.setBorderTop(HSSFCellStyle.BORDER_THIN);
styleCell.setBorderBottom(HSSFCellStyle.BORDER_THIN);
styleCell.setBorderLeft(HSSFCellStyle.BORDER_THIN);
styleCell.setBorderRight(HSSFCellStyle.BORDER_THIN);
// 设置头信息
HSSFCell cell_01 = row.createCell(0);
cell_01.setCellStyle(styleTitle);
cell_01.setCellValue("项目名称");
HSSFCell cell_02 = row.createCell(1);
cell_02.setCellStyle(styleTitle);
cell_02.setCellValue("项目编号 ");
HSSFCell cell_03 = row.createCell(2);
cell_03.setCellStyle(styleTitle);
cell_03.setCellValue("ERP项目号 ");
HSSFCell cell_04 = row.createCell(3);
cell_04.setCellStyle(styleTitle);
cell_04.setCellValue("项目经理 ");
HSSFCell cell_05 = row.createCell(4);
cell_05.setCellStyle(styleTitle);
cell_05.setCellValue("销售经理");
HSSFCell cell_06 = row.createCell(5);
cell_06.setCellStyle(styleTitle);
cell_06.setCellValue("创建时间");
HSSFCell cell_07 = row.createCell(6);
cell_07.setCellStyle(styleTitle);
cell_07.setCellValue("审核状态");
HSSFCell cell_08 = row.createCell(7);
cell_08.setCellStyle(styleTitle);
cell_08.setCellValue("项目生命周期状态");
SimpleDateFormat sb = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
for (int i = 0; i < ps.size(); i++) {
PmItemMaintainMVO p = ps.get(i);
HSSFRow r = sheet.createRow(i+1);
r.setHeight((short) 400);
HSSFCell cell_1 = r.createCell(0);
cell_1.setCellStyle(styleCell);
cell_1.setCellValue(p.getName());
HSSFCell cell_2 = r.createCell(1);
cell_2.setCellStyle(styleCell);
cell_2.setCellValue(p.getItemCode());
HSSFCell cell_3 = r.createCell(2);
cell_3.setCellStyle(styleCell);
cell_3.setCellValue(p.getErpCode());
HSSFCell cell_4 = r.createCell(3);
cell_4.setCellStyle(styleCell);
cell_4.setCellValue(p.getProjectManagerName());
HSSFCell cell_5 = r.createCell(4);
cell_5.setCellStyle(styleCell);
cell_5.setCellValue(p.getSalesManagerName());
HSSFCell cell_6 = r.createCell(5);
cell_6.setCellStyle(styleCell);
cell_6.setCellValue(sb.format(p.getCreated()));
HSSFCell cell_7 = r.createCell(6);
cell_7.setCellStyle(styleCell);
cell_7.setCellValue(p.getStatusName());
HSSFCell cell_8 = r.createCell(7);
cell_8.setCellStyle(styleCell);
cell_8.setCellValue(p.getProjectStatusName());
}
sheet.autoSizeColumn(0);
sheet.autoSizeColumn(1);
sheet.autoSizeColumn(2);
sheet.autoSizeColumn(3);
sheet.autoSizeColumn(4);
sheet.autoSizeColumn(5);
sheet.autoSizeColumn(6);
sheet.autoSizeColumn(7);
return wb;
}
sheet.autoSizeColumn(7); 单元格自动适应大小,注意,这里的自适应有问题。
JAVAWeb使用POI做导出Excel的更多相关文章
- Java利用POI导入导出Excel中的数据
首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...
- Java POI导入导出Excel
1.异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的poi的相关jar ...
- POI通用导出Excel数据(包括样式设计)
前言 前一段时间我写过通用的导入Excel,前几天也写了导出pdf格式的,还有我之前搞得导出Word,我在之前的博客也都介绍了导出和导入是一个道理,无非是一个获取一个是赋值.昨天有一位同仁看了我的Ex ...
- java中使用poi导入导出excel文件_并自定义日期格式
Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2.总之,你可以读写Excel文件使 ...
- SpringMvc 使用poi导入导出Excel
Util类 package com.common.util; public class ExportUtil { private XSSFWorkbook wb = null; private XSS ...
- springMVC中使用POI方式导出excel至客户端、服务器实例
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...
- java使用poi生成导出Excel(新)
导出样式: java代码: import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStre ...
- 如何用poi生成导出excel
import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Sheet; import java. ...
- java操作Excel的poi的导出Excel表格
页面布局 点击导出用户:触发函数,直接访问后台 后台方法如下: public String export()throws Exception{ Connection con=null; try { c ...
随机推荐
- Maven2的配置文件settings.xml(转)
当Maven运行过程中的各种配置,例如pom.xml,不想绑定到一个固定的project或者要分配给用户时,我们使用settings.xml中的settings元素来确定这些配置.这包含了本地仓库位置 ...
- WebView自适应屏幕大小
webView.getSettings().setUseWideViewPort(true); webView.getSettings().setLoadWithOverviewMode(true); ...
- (三)开关检测来控制LED灯的亮灭
开关检测案例一: 具体电路图如下: K1--K4闭合,控制 D1—D4 亮灭 产生的问题: 1.关于 R8 R9 R7 R10 的阻值选择问题,倘若太大的话, 比如10K 不管开关断开还是闭合,好像 ...
- uboot.lds (一)
lds文件与scatter文件相似都是决定一个可执行程序的各个段的存储位置,以及入口地址,这也是链接定位的作用.U-boot的lds文件说明如下: SECTIONS{ ... ...
- paper 5:支持向量机系列二: Support Vector —— 介绍支持向量机目标函数的 dual 优化推导,并得出“支持向量”的概念。
paper 4中介绍了支持向量机,结果说到 Maximum Margin Classifier ,到最后都没有说“支持向量”到底是什么东西.不妨回忆一下上次最后一张图: 可以看到两个支撑着中间的 ga ...
- js获取url的参数值
var match = new RegExp('[?&]voucherSn=([^&]*)').exec("http://m.v3beta.tootoo.cn/index.p ...
- Jquery文档接口遍历
// children():获取所有子元素 <%@ page language="java" contentType="text/html; charset=utf ...
- 【py登陆】python模拟登录
用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...
- session_start()一些问题
session问题集锦 对于PHP的session功能,始终找不到合适的答案,尤其是一些错误,还有一些没有错误的结果,最可怕的就是后者,一直为许多的初学者为难.就连有些老手,有时都被搞得莫名其妙.本文 ...
- jquery ui和jquery easy ui的区别
jquery ui 是jquery开发团队 开发,适用于网站式的页面.jquery easyui 是第三方基于jquery开发,适用于应用程序式的页面. 两者的方法调用也略有不同:jquery ui ...