POI导入导出
一、使用POI导出Execl表格
需要的jar包
package cn.hmy.poi; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; 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; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.util.CellRangeAddress; public class FirstExcel { public static void main(String[] args) throws IOException { //创建一个工作簿 HSSFWorkbook hwb=new HSSFWorkbook(); //创建表格样式 HSSFCellStyle style=hwb.createCellStyle(); style.setFillForegroundColor(IndexedColors.BLUE_GREY.getIndex()); style.setFillPattern(CellStyle.SOLID_FOREGROUND); style.setAlignment(CellStyle.ALIGN_LEFT); style.setVerticalAlignment(CellStyle.VERTICAL_CENTER); //创建一个sheet页 HSSFSheet sheet = hwb.createSheet("FirstSheet"); //合并单元格 CellRangeAddress region=new CellRangeAddress(0, 5, 1, 5) ; sheet.addMergedRegion(region); //创建第一行 HSSFRow row = sheet.createRow(0); //创建第一个单元格 HSSFCell cell = row.createCell(0); cell.setCellValue("FirstPOIExcel"); cell.setCellStyle(style); //定义日期类型的格式 HSSFDataFormat format = hwb.createDataFormat(); short format2 = format.getFormat("yyyy-MM-dd"); style.setDataFormat(format2); //创建第二个单元格 HSSFCell cell2 = row.createCell(1); cell2.setCellValue(new Date()); cell2.setCellStyle(style); //文件流设置文件保存位置 OutputStream os=new FileOutputStream("G://firstExcel.xls"); hwb.write(os); os.close(); System.out.println("导出成功!"); } }
二、使用POI导入Excel文件
package cn.hmy.poi; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.hssf.extractor.ExcelExtractor; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class SecondExcel { public static void main(String[] args) throws IOException { //准备一个文件输入流 FileInputStream fis=new FileInputStream("G://firstExcel.xls"); //创建一个poi文件系统对象 POIFSFileSystem poi=new POIFSFileSystem(fis); //创建一个工作簿将文件系统对象传入 HSSFWorkbook wb=new HSSFWorkbook(poi); //创建一个ExcelExtractor对象将工作簿传入 ExcelExtractor execl=new ExcelExtractor(wb); //通过ExcelExtractor对象输出文件内容 execl.setIncludeSheetNames(false); System.out.println(execl.getText()); } }
package cn.hmy.poi; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class SecondExcel { public static void main(String[] args) throws IOException { //准备一个文件输入流 FileInputStream fis=new FileInputStream("G://firstExcel.xls"); //创建一个poi文件系统对象 POIFSFileSystem poi=new POIFSFileSystem(fis); //创建一个工作簿将文件系统对象传入 HSSFWorkbook wb=new HSSFWorkbook(poi); //获取sheet页 HSSFSheet sheet = wb.getSheetAt(0); if(sheet==null) return ; //获取行 HSSFRow row = sheet.getRow(0); if(row==null) return; //获取单元格 HSSFCell cell = row.getCell(0); if(cell==null) return; //输出单元格的值 System.out.println(cell.getStringCellValue()); } }