zoukankan      html  css  js  c++  java
  • java使用POI操作Excel,以及各种格式内容处理,科学计数法,会计格式

    • Excel主要分为2003和2010版本。分别是HssFWorkBook和XssFWorkBook。
          InputStream is  = new FileInputStream("C:/Users/Administrator/Desktop/test.xlsx");
            XSSFWorkbook xs = new XSSFWorkbook(is);
            XSSFSheet sheet = xs.getSheetAt(0);
            System.out.println(sheet.getLastRowNum());
            for (Row row : sheet) {
                for (int i = 0; i < row.getLastCellNum(); i++) {
    
                    System.out.println(ExcelUtil.getCellValue(row.getCell(i)));
    
                }
    
            }
    • XssFSheet获得第几张表。下标从零开始,不一定和从Excel文件里看到的一样,因为有些Sheet文件是隐藏的,仍然占用着下标。

                                            sheet1

                                            sheet2

    • getLastRowNum()方法获得有效区域行数。row.getCell(i)获得单元格。
    我自己封装了获得单元格内容的方法ExcelUtil.getCellValue(Cell cell);
        /**
         * <p>得到Excel单元格的内容,支持Boolean、Number、String、公式</p>
         * @author zhanglixuan
         * 
         */
        public static String getCellValue(Cell cell) {
               if (cell.getCellType() == cell.CELL_TYPE_BOOLEAN) {
                    return String.valueOf(cell.getBooleanCellValue()).trim();
                } else if (cell.getCellType() == cell.CELL_TYPE_NUMERIC) {
                    DecimalFormat df = new DecimalFormat("0");  
                    String cellValue = df.format(cell.getNumericCellValue());  
                    return cellValue;
                } else if (cell.getCellType() == cell.CELL_TYPE_FORMULA) {
                    return String.valueOf(cell.getCellFormula()).trim();
                } else {
                    return String.valueOf(cell.getStringCellValue()).trim();
                }
            
            
        }
     
  • 相关阅读:
    获取父类参数类型工具类
    date工具类
    Ascii工具类
    AES加解密工具类
    请求ip获取工具类
    对象和map互相转换工具类
    HTTP中get、post请求工具类
    时间日期各种工具类
    算法练习题——两数相除
    ETag
  • 原文地址:https://www.cnblogs.com/zhanglixuan/p/7279197.html
Copyright © 2011-2022 走看看