POI操作Excel常用方法总结 (转)
以下的链接为原创地址:
http://blog.csdn.net/huazhangena/article/details/7587731
http://blog.csdn.net/huazhangena/article/details/7673653
使用POI创建一个简单的 myXls.xls 文件
常用的包为 org.apache.poi.hssf.usermodel.*;
例子:
import java.io.*; import org.apache.poi.hssf.usermodel.*;
public class ZoomSheet {
public ZoomSheet() {
}
public static void main(String args[]) throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
}
}
类:
HSSFWorkbook 创建 xls 的对象;
HSSFWorkbook hw = new HSSFWorkbook();
设置分区显示; hw.setRepeatingRowsAndColumns(sheet的index, 行, 列, 行, 列);
HSSFSheet 创建 xls 中的sheet(工作表);
HSSFSheet sheet = hw.createSheet("sheet1");
sheet1 是 sheet 的名称 可缺省
设置列高; sheet.setColumnWidth((short)short, (short)short);
HSSFRow 创建 xls 中的行;
HSSFRow row = sheet.createRow(0); 0 表示第一行 设置行高; row.setHeight((short)short); HSSFFont 创建 xls 中的字体; HSSFFont font = hw.createFont(); 设定字体大小; font.setFontHeightInPoints((short)54); 设定为斜体; font.setItalic(true); 设定文字删除线; font.setStrikeout(true);
HSSFCellStyle 设定单元格风格;
HSSFCellStyle style = wb.createCellStyle();
加入字体; style.setFont(font); HSSFCell 设定单元格; HSSFCell cell = row.createCell((short)0);
单元格水平对齐方式; style.setAlignment(align); //单元格水平 0 普通 1 左对齐 2 居中 3 右对齐 4 填充 5 正当 6 居中选择
单元格垂直对齐方式; style.setVerticalAlignment(align); //单元格垂直 0 居上 1 居中 2 居下 3 正当
单元格下边框为细线; style.setBorderBottom((short)short);
同上一命令一同使用,设置颜色;
style.setBottomBorderColor((short)short);
单元格左边框; style.setBorderLeft((short)short); style.setLeftBorderColor((short)short);
单元格右边框; style.setBorderRight((short)short); style.setRightBorderColor((short)short);
单元格上边框; style.setBorderTop((short)short); style.setTopBorderColor((short)short);
单元格字符编号(中文); cell.setEncoding(HSSFCell.ENCODING_UTF_16); //中文 单元格显示的值; cell.setCellValue("中医药");
值的类型有:double,int,String,Date,boolean
单元格背景色; style.setFillForegroundColor((short)short);
图案类型; style.setFillPattern((short)short);
单元格合并; sheet.addMergedRegion(new Region(行, (short)列, 行, (short)列));
单元格风格加入; cell.setCellStyle(style);
打印设置 引入包 import org.apache.poi.hssf.usermodel.HSSFPrintSetup;
创建打印设置对象 HSSFPrintSetup hps = hs.getPrintSetup();
设置A4纸 hps.setPaperSize((short)9);
将页面设置为横向打印模式 hps.setLandscape(true);
设置打印页面为水平居中 sheet.setHorizontallyCenter(true);
设置打印页面为垂直居中 sheet.setVerticallyCenter(true);
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
难点总结
1.设置不显示excel网格线 sheet.setDisplayGridlines(false);其中sheet是Sheet对象
2.设置excel单元格中的内容换行 cellStyle.setWrapText(true);其中cellStyle是WorkBook创建的CellStyle对象,然后将cellStyle设置到要换行的Cell对象,最后在要换行的对象(一般为字符串)加入"/r/n"。如 topTile.append("/r/n" +"cellContent");
3.单元格的合并 sheet.addMergedRegion(new CellRangeAddress(0, 4, 0, 2));本示例为合并4行2列
4.设置页眉和页脚的页数 HSSFHeader header = sheet.getHeader(); header.setCenter("Center Header"); header.setLeft("Left Header"); header.setRight(HSSFHeader.font("Stencil-Normal", "Italic") + HSSFHeader.fontSize((short) 16) + "Right w/ Stencil-Normal Italic font and size 16");
HSSFFooter footer = (HSSFFooter )sheet.getFooter() footer.setRight( "Page " + HSSFFooter.page() + " of " + HSSFFooter.numPages() );
5.使得一个Sheet适合一页 sheet.setAutobreaks(true); 6.设置放大属性(Zoom被明确为一个分数,例如下面的75%使用3作为分子,4作为分母) sheet.setZoom(3,4);
7.设置打印 HSSFPrintSetup print = (HSSFPrintSetup) sheet.getPrintSetup(); print.setLandscape(true);//设置横向打印 print.setScale((short) 70);//设置打印缩放70% print.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE);//设置为A4纸张 print.setLeftToRight(true);//設置打印顺序先行后列,默认为先列行 print.setFitHeight((short) 10);设置缩放调整为10页高 print.setFitWidth((short) 10);设置缩放调整为宽高
sheet.setAutobreaks(false); if (i != 0 && i % 30 == 0) sheet.setRowBreak(i);//設置每30行分頁打印
8.反复的行和列(设置打印标题) HSSFWorkbook wb = new HSSFWorkbook(); wb.setRepeatingRowsAndColumns(0, 0, 12, 1, 6);//设置1到12列,行1到6每一页重复打印
9.调整单元格宽度 sheet.setAutobreaks(true); sheet.setColumnWidth((short)i,colsWidth[i]); //设定单元格长度 sheet.autoSizeColumn((short) i);//自动根据长度调整单元格长度
POI操作Excel常用方法总结 (转)的更多相关文章
- POI操作Excel常用方法总结
转载自:http://blog.csdn.net/xjun15/article/details/5805429 一. POI简介 Apache POI是Apache软件基金会的开放源码函式库,POI提 ...
- POI操作Excel常用方法总结 分类: B1_JAVA 2013-08-23 10:01 349人阅读 评论(0) 收藏
转载自:http://blog.csdn.net/xjun15/article/details/5805429 一. POI简介 Apache POI是Apache ...
- Java中POI操作Excel常用方法
1. https://blog.csdn.net/yjt520557/article/details/82763785 2. https://blog.csdn.net/zxh66/article/d ...
- POI操作Excel
POI和Excel简介 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作 ...
- 自己封装的poi操作Excel工具类
自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...
- 自己的包poi操作Excel工具
在前面的文章<使用poi读写Excel>中分享了一下poi操作Excel的简单演示样例.这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完毕的功能是:读取Excel.汇总E ...
- Java POI操作Excel注意点
excel的行索引和列索引都是从0开始,而行号和列号都是从1开始 POI·操作excel基本上都是使用索引 XSSFRow对象的 row.getLastCellNum() 方法返回的是当前行最后有效列 ...
- POI操作Excel(xls、xlsx)
阿帕奇官网:http://poi.apache.org/ POI3.17下载:http://poi.apache.org/download.html#POI-3.17 POI操作Excel教程(易百教 ...
- 使用POI操作Excel时对事先写入模板的公式强制执行
场景:POI读取Excel模板. 当使用POI操作Excel时,发现由POI生成的公式能够在打开Excel是被执行, 而事先手工写入Excel模板文件的公式则不自动被调用,必须手动双击该Cell才能生 ...
随机推荐
- 1-03 Sql Sever 的身份验证模式
身份验证分为: 1:Windows身份验证. 1:Sql Sever身分验证. 每种验证的具体方式: 1Windows的验证方式 点击下拉框,有这两种验证方式,Windows验证只需要启动服务即可. ...
- C#从Image上读取文本
今天通过C#来实现一个读取Image上文本的功能. 1. 环境准备: 1). 下载 Microsoft Office SharePoint Designer 2007. 2). 安装请参考KB:htt ...
- hdu 4035 2011成都赛区网络赛E 概率dp ****
太吊了,反正我不会 /* HDU 4035 dp求期望的题. 题意: 有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树, 从结点1出发,开始走,在每个结点i都有3种可能: 1.被杀死,回到结点 ...
- [J2EE] 在Web如何取得相关路径
来自网络,自己整整一下: request.getRealPath("url"); // 虚拟目录映射为实际目录,不建议使用,使用ServletContext.getRealPath ...
- windows多线程详解
转自:http://blog.csdn.net/zhouxuguang236/article/details/7775232 在一个牛人的博客上看到了这篇文章,所以就转过来了,地址是http://bl ...
- Android之TabHost布局(转)
1.概念 盛放Tab的容器就是TabHost.TabHost的实现有两种方式: 第一种继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost.各个Tab ...
- 智能车学习(二十三)——浅谈心得体会
因为毕竟是竞赛,跟学校挂钩,没办法开源代码和算法完成思路,所以不能详细写太多,如果可以等价交换的话,应该还是可以向领导申请一下的. 在厦大信科通信系,参加这个比赛,大家都觉得性 ...
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/index.html Zookeeper 分布式服务框架是 Apa ...
- ettercap局域网内DNS欺骗(隔壁的哥们轻一点 ...)
转自:http://www.cnblogs.com/hkleak/p/5043063.html 笔记一:ettercap是什么? 我们在对WEB安全检测的时候都会用到Cain和netfuke这两款工具 ...
- android中随着ScrollView的滑动,titleBar状态的改变
今天项目有一个需求,,类是于QQ空间里面的一个功能,于是就研究了一下,嗯,说这么多,可能还有人不知道指的是那个,直接上效果图.见谅,不会弄动态图: 对,就是这种效果,我研究了一下,思路如下: 1. ...