学习笔记:POI_HSSF
来源:互联网 发布:人工智能 图书 编辑:程序博客网 时间:2024/06/06 03:31
HSSF总结
HSSF有什么用
日常工作中,常常对表格类型的数据进行处理,如果自己编写的java程序进行数据处理的时候需要用到表格类数据,而Excel表格在保存表格类数据的时候明显比普通txt文本更有优势。因此,利用适当的API,直接对Excel表格进行处理就显得很有必要。
目前常见读写Excel的工具类开源javaAPI有两种方式:
* 一个是JXL(Java Excel API)
官网地址:http://jexcelapi.sourceforge.net/
* 一个是Apache的POI(Poor Obfuscation Implementation)
官网地址:http://poi.apache.org/
最近做了一个关于表格文件存储的小程序,用的就是POI的HSSF。下面对程序制作中总结出来的操作和注意到的细节进行总结。(本文最后一次修改日期:2017/5/8)
值得注意的Excal的部分特性
导入POI
导入POI其实就是导入Apache的POI的jar包,我在网上找到的POI的jar包总共六个,如下:
具体步骤如下:
* 在想导入POI的工程下建立新文件夹,最好命名为“lib”;
将jar包原件复制粘贴到lib文件夹中(在eclipse下就能操作);
再将这六个文件全选,然后右键单击,选择Build Path,选择导入
- 上边就是所有的步骤了
基础操作
创建
第二种:利用HSSF的write()方法创建 推荐使用第二种
打开
打开工作簿
* 在我实际编程中,如果想实现“文件存在则打开,文件不存在则创建”的效果,一定要先加判断语句,属于打开文件的代码块中写这三条指令。不然会报错,抛出IOException异常。
示例代码如下:
*
import java.io.*;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class FoeNodes { public static void main(String[] args) { File file = new File("d:\\java\\"); HSSFWorkbook book = null; FileInputStream in = null; FileOutputStream out = null; try { if (file.exists()) { in = new FileInputStream(file); POIFSFileSystem fs = new POIFSFileSystem(in); book = new HSSFWorkbook(fs); in.close(); } else { // 创建文件夹 if (file.getParentFile().exists() == false) { file.getParentFile().mkdirs(); } book = new HSSFWorkbook(); book.write(out); out.close(); } }catch(IOException ee) { ee.getMessage(); } }}
打开其它对象
设置单元格
int/Date/Calendar/double/String(过时的)/HSSFRichTextString 等 设置单元格风格 cell.setCellStyle(new HSSFCellStyle()); 设置打印方向 sheet.getPrintSetup().setLandscape(true); 设置为横向打印(默认纵向) 设置行高 row.setHeightInPoints(18); 设置指定列列宽 sheet.setColumnWidth((short)colNo, (short)(length)); 设置默认列宽 sheet.setDefaultColumnWidth((short) 10); 特定区域设为每页都打印 book.setRepeatingRowsAndColumn(sheetn,scol,ecol,srow,erow); 合并单元格 region = new Region(curr-1, (short)(1), curow-1+3, (short)1);(已过时)
sheet.addMergedRegion(new CellRangeAddress(srow, erow, scol, ecol));
设置单元格样式示例
private HSSFCellStyle leftStyle(HSSFWorkbook wb){ HSSFCellStyle curStyle = wb.createCellStyle(); HSSFFont curFont = wb.createFont(); //设置字体 //curFont.setFontName("Times New Roman"); //设置英文字体 curFont.setFontName("微软雅黑"); //设置英文字体 curFont.setCharSet(HSSFFont.DEFAULT_CHARSET); //设置中文字体,那必须还要再对单元格进行编码设置 curFont.setFontHeightInPoints((short)10); //字体大小 curFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //加粗 curStyle.setFont(curFont); curStyle.setBorderTop(HSSFCellStyle.BORDER_THICK); //粗实线 curStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //实线 curStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM); //比较粗实线 curStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); //实线 curStyle.setWrapText(true); //换行 curStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); //横向具右对齐 curStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); //单元格垂直居中 return curStyle; }
0 0
- 学习笔记:POI_HSSF
- 学习笔记?
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- 学习笔记
- HDU1864-最大报销额-题意有问题-浙大计算机研究生复试上机考试-2007年
- 整合VMware与OpenStack—镜像驱动的实现原理
- Thinkphp 关联查询 详解 简单而方便的理解关联查询
- 计算机数字系统(1)-介绍
- 打开真机日志
- 学习笔记:POI_HSSF
- Building Shops
- [leetcode445】Add Two Numbers II
- turtle画图
- 基于 Python 的数据结构与算法分析学习记录(6-11)—— 二叉查找树与操作
- caffe学习-第三天
- servlet
- doom3灯光编辑器和FX编辑器
- Webpack傻瓜式指南