POI导入导出

一、使用POI导出Execl表格

  需要的jar包

package cn.yxj.poi;
import java.io.FileOutputStream;
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.HSSFFont;
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.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.util.CellRangeAddress;
public class DemoPoi2 {
    public static void main(String[] args) throws Exception {
        //创建一个工作薄
        HSSFWorkbook web=new HSSFWorkbook();
        //添加样式背景颜色
        HSSFCellStyle cellStyle=web.createCellStyle();
        cellStyle.setFillForegroundColor(IndexedColors.PINK.getIndex());
        cellStyle.setFillPattern(cellStyle.BORDER_THIN);
        cellStyle.setAlignment(cellStyle.ALIGN_LEFT);
        cellStyle.setVerticalAlignment(cellStyle.VERTICAL_CENTER);
        
        //设置字体颜色
        HSSFFont font=web.createFont();
        font.setColor(HSSFColor.RED.index);
        cellStyle.setFont(font);
        
        //创建一个页面
        HSSFSheet sheet=web.createSheet("第一个sheet页面");
        //创建一行
        HSSFRow row=sheet.createRow(0);
        //创建第一个单元格
        HSSFCell cell=row.createCell(0);
        cell.setCellValue("我是第一个单元格");
        //添加样式
        cell.setCellStyle(cellStyle);
         //创建第二个单元格
        HSSFCell cell2=row.createCell(1);
        cell2.setCellValue(new Date());
        cell2.setCellStyle(cellStyle);
        //合并单元格    单元格从0开始,1第几个单元格
        sheet.addMergedRegion(new CellRangeAddress(0, 4, 1, 4));
         //定义日期类型的格式

          HSSFDataFormat format = web.createDataFormat();
            short format2 = format.getFormat("yyyy-MM-dd");
            cellStyle.setDataFormat(format2);
       /* HSSFDataFormat format= web.createDataFormat();
        cellStyle.setDataFormat(format.getFormat("yyyy年m月d日"));*/
        FileOutputStream out=new FileOutputStream("poi出来的excel文件2.xls");//给的是相对路径(绝对路径是 D://
        web.write(out);
        System.out.println("成功导出");
        out.close();
        
    }

}

二、使用POI导入Excel文件

package cn.yxj.poi;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
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 DemopoiStreat1 {
    public static void main(String[] args) throws IOException {
        //创建一个文件输入流
        FileInputStream fis=new FileInputStream("poi出来的excel文件2.xls");
        //创建一个poi文件系统对象
        POIFSFileSystem poi=new POIFSFileSystem(fis);
        //创建一个工作薄将文件系统对象传入
        HSSFWorkbook wb=new HSSFWorkbook(poi);
        //创建一个ExcelExtractor对象将工作薄传入
        ExcelExtractor excel=new ExcelExtractor(wb);
        //通过ExcelExtractor对象输出文件内容
        excel.setIncludeSheetNames(false);//不显示sheet标题
        System.err.println(excel.getText());

    }
}
package cn.yxj.poi;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.apache.poi.hssf.extractor.ExcelExtractor;
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 DemopoiStreat2 {
    public static void main(String[] args) throws IOException {
        //创建一个文件输入流
        FileInputStream fis=new FileInputStream("poi出来的excel文件2.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());
        
        
    }
}
原文地址:https://www.cnblogs.com/yejiaojiao/p/6163390.html