Java培训课程之Apache POI介绍

一、poi介绍

Apache POI是Apache软件基金会的提供的一套操作office办公文档的API,可以使用Java程序对Microsoft Office格式文档进行读和写的操作。 

二、poi结构

HSSF - 提供对Microsoft Excel格式文档读与写的操作

XSSF - 提供对Microsoft Excel OOXML格式文档读与写的操作

HWPF - 提供对Microsoft Word格式文档读与写的操作

HSLF - 提供对Microsoft PowerPoint格式文档读与写的操作

HDGF - 提供对Microsoft Visio格式文档读与写的操作

三、下面演示一下Demo

(向磁盘输出一个excel文件)

 

import java.io.File;

import java.io.FileOutputStream;

 

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.CellStyle;

import org.apache.poi.ss.usermodel.Font;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.ss.usermodel.Sheet;

import org.apache.poi.ss.usermodel.Workbook;

 

public class demo {

 

      public static void main(String[] args) {

            Sheet sheet = null;

            // 创建一个excel文件并指定文件名

            File file = new File("D://demoPoi.xls");

            @SuppressWarnings("resource")

            Workbook workbook = new HSSFWorkbook();

            // 标题行样式

            CellStyle titleStyle = workbook.createCellStyle();

 

            titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);

            Font titleFont = workbook.createFont();

            titleFont.setFontHeightInPoints((short) 15);

            titleFont.setBoldweight((short) 100);

            titleStyle.setFont(titleFont);

 

            // 创建sheet

            sheet = workbook.createSheet("poi测例");

 

            // 创建标题行 行数从0开始 从第一列开始

            Row titleRow = sheet.createRow(0);

           titleRow.createCell(0).setCellValue("序号");

           titleRow.getCell(0).setCellStyle(titleStyle);

           titleRow.createCell(1).setCellValue("姓名");

           titleRow.getCell(1).setCellStyle(titleStyle);

           titleRow.createCell(2).setCellValue("分数");

           titleRow.getCell(2).setCellStyle(titleStyle);

 

 

            Row row = sheet.createRow(1);

            // 创建第一行数据

            Cell createCell = row.createCell(0);

            createCell.setCellValue(1);

            Cell createCell2 = row.createCell(1);

            createCell2.setCellValue("xixi");

            Cell createCell3 = row.createCell(2);

            createCell3.setCellValue(90);

 

            FileOutputStream outputStream;

            try {//创建文件输出流并输出

                outputStream = new FileOutputStream(file);

                workbook.write(outputStream);

            } catch (Exception e) {

                e.printStackTrace();

            }

        }

 

}

 

效果如下:

Apache POI介绍