zoukankan      html  css  js  c++  java
  • POI基本操作

    1、读取excel文件

    InputStream is = new FileInputStream(filesrc);
    POIFSFileSystem fs = new POIFSFileSystem(is);
    HSSFWorkbook wb = new HSSFWorkbook(fs);
    HSSFSheet sheet = wb.getSheetAt(0);

    2、获取全部行数

    int rows = sheet.getLastRowNum();

     3、创建工作簿

    Workbook wb = new HSSFWorkbook();//定义一个新的工作簿
    FileOutputStream fileOut = new FileOutputStream("d:\poiDemo.xls");
    wb.write(fileOut);
    fileOut.close();

    4、创建sheet页

    Workbook wb = new HSSFWorkbook();//定义一个新的工作簿wb.createSheet("FirstSheet");//创建一个sheet页
    wb.createSheet("SecondSheet");//创建第二个sheet页
    FileOutputStream fileOut = new FileOutputStream("d:\poiSheetDemo.xls");

    5、创建单元格

    Workbook wb = new HSSFWorkbook();
            Sheet sheet = wb.createSheet("firstSheet");
            Row row = sheet.createRow(0);//创建一行
            Cell cell = row.createCell(0);//创建一个单元格
            cell.setCellValue(1);
            
            row.createCell(1).setCellValue(1.2);//创建一个单元格第二列,值是1.2
            row.createCell(2).setCellValue("这是一个字符串");//创建一个单元格第三列,值是1.2
            
            
            
            FileOutputStream fileOut = new FileOutputStream("d:\poiSheet.xls");
            wb.write(fileOut);
            fileOut.close();

    6、遍历工作簿

    public static void main(String[] args) throws Exception {
            InputStream is = new FileInputStream("d:\遍历名单.xls");
            POIFSFileSystem fs = new POIFSFileSystem(is);
            HSSFWorkbook wb = new HSSFWorkbook(fs);
            HSSFSheet hssfSheet = wb.getSheetAt(0);
            if(hssfSheet==null){
                return;
            }
            //遍历行row
            for(int rowNum = 0;rowNum<=hssfSheet.getLastRowNum();rowNum++){
                HSSFRow hssfRow = hssfSheet.getRow(rowNum);
                if(hssfRow==null){
                    continue;
                }
                //遍历裂cell
                for(int cellNum = 0;cellNum<=hssfRow.getLastCellNum();cellNum++){
                    HSSFCell hssfCell = hssfRow.getCell(cellNum);
                    if(hssfCell==null){
                        continue;
                    }
                    System.out.print(" "+getValue(hssfCell));
                }
                System.out.println();
            }
    
        }
        
        private static String getValue(HSSFCell hssfCell){
            if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
                return String.valueOf(hssfCell.getBooleanCellValue());
            }else if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
                return String.valueOf(hssfCell.getNumericCellValue());
            }else{
                return String.valueOf(hssfCell.getStringCellValue());
            }
        }

    7、文本提取

    InputStream is = new FileInputStream("d:\遍历名单.xls");
    POIFSFileSystem fs = new POIFSFileSystem(is);
    HSSFWorkbook wb = new HSSFWorkbook(fs);
        
    ExcelExtractor excelExtractor = new ExcelExtractor(wb);
    excelExtractor.setIncludeSheetNames(false);//不需要sheet页的名字
    System.out.println(excelExtractor.getText());

    8、单元格合并

    Workbook wb = new HSSFWorkbook();
            Sheet sheet = wb.createSheet("sheet1");
            Row row = sheet.createRow(1);
            
            Cell cell = row.createCell(1);
            cell.setCellValue("单元格合并");
            
            sheet.addMergedRegion(new CellRangeAddress(1,2,1,2));//起始行,结束行,起始列,结束列

    9、读取和重写工作簿

    InputStream inp = new FileInputStream("d:\demo13.xls");
            POIFSFileSystem fs = new POIFSFileSystem(inp);
            Workbook wb = new HSSFWorkbook(fs);
            Sheet sheet = wb.getSheetAt(0);//获取第一个sheet
            Row row = sheet.getRow(0);
            Cell cell =row.getCell(0);
            if(cell==null){
                cell = row.createCell(3);
                
            }
            cell.setCellType(Cell.CELL_TYPE_STRING);
            cell.setCellValue("测试单元格");
            
            
            FileOutputStream fileOut = new FileOutputStream("d:\demo13.xls");
            wb.write(fileOut);
            fileOut.close();
  • 相关阅读:
    Centos6.8通过yum安装mysql5.7
    查看mysql已安装
    canal client leader
    es按时间段统计总数
    nginx负载
    es 查看mapping 设置max_result_window
    es 修改默认bool条件个数
    less
    Less配置环境
    JavaScript面向对象与原型
  • 原文地址:https://www.cnblogs.com/sylovezp/p/4193717.html
Copyright © 2011-2022 走看看