zoukankan      html  css  js  c++  java
  • 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());
            
            
        }
    }
  • 相关阅读:
    linux基础-第十八单元_nginx部署
    centos7 启动docker失败--selinux-enabled=false
    crontab 写入文件目录
    kvm : Permission denied
    使用spice连接kvm guest主机
    python中bottle模块的使用
    如何监控开源 Apache Kafka?
    Spring Quartz
    【问题排查】kafka0.10.x过期数据不会自动删除问题
    Apache Kafka监控之Kafka Web Console
  • 原文地址:https://www.cnblogs.com/yejiaojiao/p/6163390.html
Copyright © 2011-2022 走看看