- 论坛徽章:
- 0
|
一:简介
利用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")));
- }
- }
复制代码 效果:
|
|