一.需要了解的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的更多相关文章

  1. Java利用POI导入导出Excel中的数据

         首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

  2. Java POI导入导出Excel

    1.异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的poi的相关jar ...

  3. POI通用导出Excel数据(包括样式设计)

    前言 前一段时间我写过通用的导入Excel,前几天也写了导出pdf格式的,还有我之前搞得导出Word,我在之前的博客也都介绍了导出和导入是一个道理,无非是一个获取一个是赋值.昨天有一位同仁看了我的Ex ...

  4. java中使用poi导入导出excel文件_并自定义日期格式

    Apache POI项目的使命是创造和保持java API操纵各种文件格式基于Office Open XML标准(OOXML)和微软的OLE复合文档格式(OLE2)2.总之,你可以读写Excel文件使 ...

  5. SpringMvc 使用poi导入导出Excel

    Util类 package com.common.util; public class ExportUtil { private XSSFWorkbook wb = null; private XSS ...

  6. springMVC中使用POI方式导出excel至客户端、服务器实例

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 这里的方法支持导出excel至项目所在服务器,或导 ...

  7. java使用poi生成导出Excel(新)

    导出样式: java代码: import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStre ...

  8. 如何用poi生成导出excel

    import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Sheet; import java. ...

  9. java操作Excel的poi的导出Excel表格

    页面布局 点击导出用户:触发函数,直接访问后台 后台方法如下: public String export()throws Exception{ Connection con=null; try { c ...

随机推荐

  1. UML: 部署图

    说部署图之前,先看看某24小时便利店管理系统的网络拓扑结构图: 这个图描述了本系统的整体物理结构,从该图我们可以得到以下信息:1.该便利店集团有总部和多个门店,总部管理财务.仓库.采购等事宜.2.二级 ...

  2. Java的正则表达式

    package RegexTest; /** * Created by hu on 2016/3/29. */ /* * Java的正则表达式 在正则表达式中,用\d表示一位数字,如果在其它语言中使用 ...

  3. php第三方登陆

    学习之前,请大家先看一下oAuth协议. 首先呢,我们进入QQ互联的官方网站 http://connect.qq.com登入我们自己的QQ号,没有QQ号的小伙伴可以忽略本篇博文分享!

  4. Hashing function

    Hashing function (散列函式) 在网页应用中被广泛采用,从数码签署.错误检测.登入验证.到压缩储存空间,由于它的原理比较复杂,很多人把它跟加密函式混淆,对于如何运用hash funct ...

  5. (转)Aspone.Cells设置Cell数据格式 Setting Display Formats of Numbers and Dates

    Setting Display Formats Using Microsoft Excel: Right-click on any desired cell and select Format Cel ...

  6. 3D语音天气球(源码分享)——完结篇

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 由于这篇文章是本系列最后一篇,有必要进行简单的回顾和思路整理. 这个程序是由两 ...

  7. Dr.Kong的艺术品

    题目 Dr.Kong设计了一件艺术品,该艺术品由N个构件堆叠而成,N个构件从高到低按层编号依次为1,2,……,N.艺术品展出后,引起了强烈的反映.Dr.Kong观察到,人们尤其对作品的高端部分评价甚多 ...

  8. Jquery文档接口遍历

    // children():获取所有子元素 <%@ page language="java" contentType="text/html; charset=utf ...

  9. PTPX Power Analysis Flow

    PrimeTime PX工具是PrimeTime工具内的一个feature. PTPX的功耗分析,可以报告出chip,block,cell的各个level的功耗. 使用PTPX可以分析的功耗的方式: ...

  10. OpenStack fuel-web不可用解决办法

    Contents [hide] 1 为增加一台计算节点 2 磁盘清空 3 启动占用8001端口的进程 4 启动占用5432端口的进程 为增加一台计算节点 打开fuel-web,发现无法打开,弹出ngi ...