POI的简单使用

一:简介

利用POI工具可以导出word,excel,ppt等office文件

二:程序代码示例

package com.wang.test;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Calendar;
import java.util.Date;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class Test {
	public static void main(String[] args) throws Exception{
		//创建工作簿
		HSSFWorkbook wb=new HSSFWorkbook();
		//创建工作表
		HSSFSheet sheet1=wb.createSheet("first sheet");
		HSSFSheet sheet2=wb.createSheet("second sheet");
		//创建row
		HSSFRow row=sheet1.createRow(0);
		//创建单元格
		HSSFCell cell=row.createCell(0);
		cell.setCellValue(false);
		row.createCell(1).setCellValue(Calendar.getInstance());
		row.createCell(2).setCellValue(new Date());
		row.createCell(3).setCellValue(123456.654321);
		String str="abcdefghi";
		
		//创建数据格式对象
		HSSFDataFormat format=wb.createDataFormat();
		//创建单元格样式
		HSSFCellStyle style=wb.createCellStyle();
		
		//对日期格式化
		style.setDataFormat(format.getFormat("yyyy-MM-dd HH:mm:ss"));
		//应用样式给单元格
		row.getCell(1).setCellStyle(style);
		row.getCell(2).setCellStyle(style);
		
		//对double值格式化
		style=wb.createCellStyle();
		style.setDataFormat(format.getFormat("#.00"));
		row.getCell(3).setCellStyle(style);
		
		//设置列宽,注意:列宽相对于sheet的。
		sheet1.setColumnWidth(1, 3000);
		//也可以自动调节列宽
		sheet1.autoSizeColumn(2);
		sheet1.setColumnWidth(4, 7000);
		//自动回绕文本,把太长的字符串换行显示
		row=sheet1.createRow(1);
		row.createCell(0).setCellValue("左上");
		row.createCell(1).setCellValue("中间");
		row.createCell(2).setCellValue("右下");
		
		//设置行高
		row.setHeightInPoints(50);
		sheet1.setColumnWidth(0, 5000);
		sheet1.setColumnWidth(1, 5000);
		sheet1.setColumnWidth(2, 5000);
		
		//设置对齐方式--左上
		style=wb.createCellStyle();
		style.setAlignment(HSSFCellStyle.ALIGN_LEFT);
		style.setVerticalAlignment(HSSFCellStyle.VERTICAL_TOP);
		row.getCell(0).setCellStyle(style);
		
		//设置对齐方式--中间
		style=wb.createCellStyle();
		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
		style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
		row.getCell(1).setCellStyle(style);
		
		//设置对齐方式--右下
		style=wb.createCellStyle();
		style.setAlignment(HSSFCellStyle.ALIGN_RIGHT);
		style.setVerticalAlignment(HSSFCellStyle.VERTICAL_BOTTOM);
		row.getCell(2).setCellStyle(style);
		
		//重点:计算列
		row=sheet1.createRow(3);
		row.createCell(0).setCellValue(13);
		row.createCell(1).setCellValue(45);
		row.createCell(2).setCellValue(25);
		row.createCell(3).setCellFormula("sum(A4:C4)");
		//导出到磁盘
		wb.write(new FileOutputStream(new File("f:/poi.xls")));
	}
}
效果:

1

posted @ 2015-05-24 16:13  珍惜阳光  阅读(988)  评论(0编辑  收藏  举报