POI的结构:
HSSF - 提供读写MicrosoftExcel格式档案的功能。
XSSF - 提供读写Microsoft ExcelOOXML格式档案的功能。
HWPF - 提供读写MicrosoftWord格式档案的功能。
HSLF - 提供读写MicrosoftPowerPoint格式档案的功能。
HDGF - 提供读写MicrosoftVisio格式档案的功能。
下面简要说HSSF怎么导出excel和读取excel。需要导入poi的jar包。
1.POI利用HSSF导出excel
package com;
import java.io.FileOutputStream;
import java.util.Calendar;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
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.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class test2 {
public static void main(String[] args) throws Exception {
// 创建一个excel工作簿
Workbook wb = new HSSFWorkbook();
// 创建工作表,参数为工作表的名字
Sheet sheet = wb.createSheet("new sheet");
// 创建一行
Row row = sheet.createRow(0);
// 创建单元格格式
CellStyle cellStyle = wb.createCellStyle();
// 创建一个单元格
Cell cell = row.createCell(0);
// 设置单元格值
cell.setCellValue("welcome");
// 定义font属性,并设置颜色为红色
HSSFFont font = (HSSFFont) wb.createFont();
font.setColor(HSSFFont.COLOR_RED);
// style接受font属性
cellStyle.setFont(font);
// 将单元格格式加到单元格上
cell.setCellStyle(cellStyle);
// 设置数据的date属性
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
cell = row.createCell(1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
// 直接显示时间对象
cell = row.createCell(2);
cell.setCellValue(Calendar.getInstance());
cell.setCellStyle(cellStyle);
// 将excel写入输出流,生成excel文件
FileOutputStream fileOut = new FileOutputStream("d:/workbook.xls");
wb.write(fileOut);
fileOut.close();
}
}
package com;
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class test3 {
public static void main(String[] args) throws Exception {
// 将excel读入输入流
FileInputStream fis = new FileInputStream("d:/workbook.xls");
// 创建一个excel工作簿,将excel文件写入该工作簿
Workbook wb = new HSSFWorkbook(fis);
// 获取名字为"new sheet"的工作表
Sheet sheet = wb.getSheet("new sheet");
// 得到第一行
Row row = sheet.getRow(0);
// 得到第一行的第一个单元格
Cell cell = row.getCell(0);
// 获取该单元格的string类型的value值
String value = cell.getStringCellValue();
// 控制台打印该value
System.out.println(value);
// ......后续操作
}
}