Poi 生成xls
来首小诗:
今日不胜昨日寒,我却把那拖鞋穿,脚儿冰冰秋风瑟,抬头一看碧蓝天。 ---泥沙砖瓦浆木匠
项目需求:
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的更多相关文章
- 【POI】使用POI 创建生成XLS,打开xls文件提示【此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数。】
使用POI 创建生成XLS,打开xls文件提示[此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数.] 原因: 是因为在POI处理xls的过程中,太多次调用了: HSSFFont fon ...
- 使用POI生成Excel报表
先把报表模板截图贴上来 下面是POI编写的报表生成类ExcelReport.java package com.jadyer.report; import java.io.FileNotFoundExc ...
- 使用Java类库POI生成简易的Excel报表
使用Java类库POI生成简易的Excel报表 1.需求 1.数据库生成报表需要转义其中字段的信息.比如 1,有效 2.无效等 2.日期格式的自数据需要转义其格式. 3.标题的格式和数据的格式需要分别 ...
- java使用poi生成excel
使用poi生成excel通常包含一下几个步骤 创建一个工作簿 创建一个sheet 创建一个Row对象 创建一个cell对象(1个row+1个cell构成一个单元格) 设置单元格内容 设置单元格样式. ...
- POI生成WORD文档
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- poi jsp xls
poi jsp xls <%@ page language="java" pageEncoding="UTF-8"import="java.ut ...
- Java下使用Apache POI生成具有三级联动下拉列表的Excel文档
使用Apache POI生成具有三级联动下拉列表的Excel文档: 具体效果图与代码如下文. 先上效果图: 开始贴代码,代码中部分测试数据不影响功能. 第一部分(核心业务处理): 此部分包含几个方面: ...
- POI生成EXCEL文件
POI生成EXCEL文件 一.背景 根据指定格式的JSON文件生成对应的excel文件,需求如下 支持多sheet 支持单元格合并 支持插入图片 支持单元格样式可定制 需要 标题(title),表头( ...
- POI生成Web版Word文件
POI生成Web版Word文件 1 通过URL的输入流实现 2 直接把Html文本写入到Word文件 所谓的使用POI生成Web版Word文件是指利用POI将Html代码插入到 ...
随机推荐
- 在anguler项目中引用fullCalendar
1.css文件引用 <link href="/CSS/Fullcalendar.css" rel="stylesheet" /> <!--插件 ...
- tensorflow学习之(十一)将python代码写入文件
#save to file import tensorflow as tf import numpy as np ##(1)Save to file 把相关变量存储到文件中 #remember to ...
- poi实现Excel文件的读取
1.前端代码 $("#upload").on('click', function() { var formData = new FormData(); var name = $(& ...
- android与php使用base64加密的字符串结果不一样解决方法
base64将字符串转换为字节得到同一个值 一.错误 String signString = Base64.encodeToString(signContent.getBytes(),Base64.N ...
- golang中数组指针和指针数组的区别
func test(){ x,y := 1, 2 var arr = [...]int{5:2} //数组指针 var pf *[6]int = &arr //指针数组 pfArr := [. ...
- 数据库 的几种链接 join
直接demo,懒的同学可以看看效果 两个表的数据 join和inner join一样 full join报错,可有大神知道原因?
- Book : <Hands-on ML with Sklearn & TF> pdf/epub
非常好的书,最近发现了pdf版本,链接:http://www.finelybook.com/hands-on-machine-learning-with-scikit-learn-and-tensor ...
- h5的改进:
新元素画布canvas: HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成音频audio视频video语义性: article, nav ...
- C#使用Dotfuscator混淆代码的加密方法
C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进行破解的,特别是对于一些商业用途的C#软件来说,因为盯着的人多,更是极易被攻破.使用VS自带的Dotfuscator可以实现混淆代 ...
- 洛谷P1064--金明的预算方案(简单背包)
https://www.luogu.org/problemnew/show/P1064 #include<iostream> #include<algorithm> #incl ...