来首小诗:

    今日不胜昨日寒,我却把那拖鞋穿,脚儿冰冰秋风瑟,抬头一看碧蓝天。         ---泥沙砖瓦浆木匠

项目需求:

  p2p项目中,需要一些数据报表一xls的格式,提供下载。并给主管签名。

方案:

------------------------

  poi 3.9

------------------------

第一步学习:

了解poi:

  

Apache POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。目前POI已经有了Ruby版本。

结构:

  • HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
  • XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。
  • HWPF - 提供读写Microsoft Word DOC格式档案的功能。
  • HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
  • HDGF - 提供读Microsoft Visio格式档案的功能。
  • HPBF - 提供读Microsoft Publisher格式档案的功能。
  • HSMF - 提供读Microsoft Outlook格式档案的功能。

我需要的就是hssf。

poi3.9这里我分享下

链接: http://pan.baidu.com/s/1EHymz 密码: f94c

第二步学习:

清单1.定义新的xls里面工作簿和一个sheet页

Workbook wb = new HSSFWorkbook();                                    //定义一个新的工作簿

Sheet sheet1= wb.createSheet("满标复审模板");                          //定义第一个sheet页

清单2.创建一个文件流,并输出一个xls

wb.write(fos);    //  Workbook   将流写进工作簿
FileOutputStream fos = new FileOutputStream("D://测试.xls");          //输出一个新的xls
wb.write(fos);
fos.close();

做了前两个,main里面运行就生成了一个xls

清单3.创建行,单元格-->并赋值  

Row row = sheet1.createRow();                                        //为第一个sheet页创建标题
Cell cell = row.createCell(column); //为相应行创建一个单元格
cell.setCellValue("借款标满标确认单");

  并注意,这些写在清单1,2之间。

 

第三步学习:

  鄙人自己想了想,然后学习下,觉得

    1.字体font,单元style归一类

    2.赋值,合并单元格归一类

在一个sheet页里面,

    step1.创建内容

    /**创建 制单人--制单编号**/
Row row1 = sheet1.createRow();
setRowOfFourSecondTitle(wb, sheet, row1,,"制单人:",
"Li","制单编号:","20131115");

    step2.进入setRowOfFourSecondTitle

/**
* 创建 制单人--制单编号
* @param workbook
* @param sheet
* @param row
* @param column
* @param valString1 //列1的值
* @param valString2 //列2的值
* @param changeString1 //列3的值--填入值
* @param changeString2 //列4的值--填入值
*/

private static void setRowOfFourSecondTitle(Workbook workbook,Sheet sheet,Row row,
int column,String valString1,String changeString1 ,String valString2,String changeString2) {
row.setHeightInPoints(); //行高度
sheet.setDefaultColumnWidth(); //设置列的宽度 Cell cel0 = row.createCell(); //为相应行创建列1 单元格
cel0.setCellValue(valString1);
cel0.setCellStyle(getCellStyleOfOne(workbook)); Cell cell2 = row.createCell(); //为相应行创建列3单元格
cell2.setCellValue(valString2);
cell2.setCellStyle(getCellStyleOfOne(workbook)); Cell cell1 = row.createCell(); //为相应行创建列2单元格
cell1.setCellValue(changeString1);
cell1.setCellStyle(getCellStyleOfTwo(workbook)); Cell cell3 = row.createCell();
cell3.setCellValue(changeString2);
cell3.setCellStyle(getCellStyleOfTwo(workbook));
}

      step3.由于单元格的里面样式不同

--------------------------------------------

    getCellStyleOfTwo 其一

    getCellStyleOfOne 其二
------------------------------------------

举其中的一个例子:

其一

/**
* 制单人--制单编号 对应样式
* @param workbook
* @return 制单人--制单编号 对应样式
*/

private static CellStyle getCellStyleOfOne(Workbook workbook) {
CellStyle style1 = workbook.createCellStyle(); // 样式对象
style1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); // 垂直
style1.setAlignment(HSSFCellStyle.ALIGN_RIGHT); // 水平 Font font1=workbook.createFont();
font1.setColor(HSSFColor.BLACK.index); //字体颜色
font1.setFontHeightInPoints((short)); //字体大小
font1.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //字体增粗 style1.setFont(font1);
return style1;
}

第四步学习:

www.baidu.com 文档学习。

总结:

  poi操作xls挺简单的,应用那块也有推荐。可以找找视频学习。主要是一些接口的熟悉。

Poi 生成xls的更多相关文章

  1. 【POI】使用POI 创建生成XLS,打开xls文件提示【此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数。】

    使用POI 创建生成XLS,打开xls文件提示[此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数.] 原因: 是因为在POI处理xls的过程中,太多次调用了: HSSFFont fon ...

  2. 使用POI生成Excel报表

    先把报表模板截图贴上来 下面是POI编写的报表生成类ExcelReport.java package com.jadyer.report; import java.io.FileNotFoundExc ...

  3. 使用Java类库POI生成简易的Excel报表

    使用Java类库POI生成简易的Excel报表 1.需求 1.数据库生成报表需要转义其中字段的信息.比如 1,有效 2.无效等 2.日期格式的自数据需要转义其格式. 3.标题的格式和数据的格式需要分别 ...

  4. java使用poi生成excel

    使用poi生成excel通常包含一下几个步骤 创建一个工作簿 创建一个sheet 创建一个Row对象 创建一个cell对象(1个row+1个cell构成一个单元格) 设置单元格内容 设置单元格样式. ...

  5. POI生成WORD文档

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  6. poi jsp xls

    poi jsp xls <%@ page language="java" pageEncoding="UTF-8"import="java.ut ...

  7. Java下使用Apache POI生成具有三级联动下拉列表的Excel文档

    使用Apache POI生成具有三级联动下拉列表的Excel文档: 具体效果图与代码如下文. 先上效果图: 开始贴代码,代码中部分测试数据不影响功能. 第一部分(核心业务处理): 此部分包含几个方面: ...

  8. POI生成EXCEL文件

    POI生成EXCEL文件 一.背景 根据指定格式的JSON文件生成对应的excel文件,需求如下 支持多sheet 支持单元格合并 支持插入图片 支持单元格样式可定制 需要 标题(title),表头( ...

  9. POI生成Web版Word文件

    POI生成Web版Word文件 1       通过URL的输入流实现 2       直接把Html文本写入到Word文件 所谓的使用POI生成Web版Word文件是指利用POI将Html代码插入到 ...

随机推荐

  1. Maven学习 九 maven热部署

    第一步:配置tomcat的manager-script角色 点击tomcat的默认项目root的欢迎页面的Manager App 刚开始是没有用户名与和密码的,直接点击取消 出现如下的一张图片,图片中 ...

  2. tomcat连接常用数据库的用法

    一.用于数据库连接的术语: JDBC:(Java database connectivity)是基于java数据访问技术的一个API通过客户端访问服务器的数据库,是一个面向关系型数据库并提供一种方法查 ...

  3. 解决使用Mybatis 传入多参数使用map封装遇到的 “坑”问题

    好久没来写些东西了,今天 我分享一下自己遇到的一个“小 坑”,这也许对您来说不是个问题,但是我还是希望对没有遇到过这类问题的朋友给个小小的帮助吧 是这样的,需求:需要实现根据多条件 且分页展示数据 1 ...

  4. Web3D

    https://baike.baidu.com/item/WEB%203D/11066359?fr=aladdin https://zhidao.baidu.com/question/17325151 ...

  5. promise和生成器的结合

    if(Promise.wrap){ Promise.wrap = function(fn){ return function(){ var args = [].slice.call(arguments ...

  6. Xcode安装CocoaPods

    1.虽然Mac自带Ruby但是安装cocoapods需要gem,gem是一个管理Ruby库和程序的标准包,它通过RubyGem源来查找.安装.升级和卸载软件包.因为gem默认的服务器被墙,因此在安装之 ...

  7. 作业 -- 几道简单的Python题

    1.编写程序,要求生成10240个随机[0,512)之间的整数,并统计每个元素出现的次数. 2.编写程序,要求当用户输入一个列表和两个整数作为下标时,程序可以使用切片获取并输出列表中截取两个下标之间的 ...

  8. select、poll、epoll

    1.概念 select.poll.epoll都是事件触发机制,当等待的事件发生就触发进行处理,用于I/O复用 2.简单例子理解 3.select函数 3.1函数详解 int select(int ma ...

  9. APIView源码简单分析图

    APIView源码简单分析 !声明:下面这个dispatch分发方法不在是父类View里的dispatch了,APIView重新封装了这个dispatch.(整个核心就是initialize_requ ...

  10. c语言构建哈希表

    /*哈希查找 *哈希函数的构造方法常用的有5种.分别是: *数字分析法 *平方取中法 *分段叠加 *伪随机数 *除留取余法 *这里面除留取余法比较常用 *避免哈希冲突常用的方法有4种: *开放定址法( ...