美文网首页
Java 读写excel(POI)

Java 读写excel(POI)

作者: 暑水 | 来源:发表于2019-03-14 21:15 被阅读0次

    1、文件的读写

    1.1、文件的读取

            InputStream xlsFile = new FileInputStream("C:\\Users\\暑水\\Desktop\\sign_in.xlsx");
            // 获得工作簿对象
            XSSFWorkbook workbook = new XSSFWorkbook(xlsFile);
            // 获得所有工作表,0指第一个表格
            XSSFSheet sheet = workbook.getSheetAt(0);
    
            // 获得行数
            int rows = sheet.getLastRowNum();
            // 获得列数
            int cols = sheet.getPhysicalNumberOfRows();
            // 读取数据      
            for (int row = 0; row < rows; ++row) {
                //获取行,行号作为参数传递给getRow方法,第一行从0开始计算
                XSSFRow r = sheet.getRow(row);          
                //遍历列
                for (int col = 0; col < r.getPhysicalNumberOfCells(); col++) {
                    XSSFCell cell = r.getCell(col);
                    cell.setCellType(Cell.CELL_TYPE_STRING);
                    String cellValue = cell.getStringCellValue();
                    System.out.print(cellValue + "\t");
                }
                System.out.println();           
            }
    
    

    1.2、文件的写入

            //创建excel文件
            File NewxlsFile = new File("C:\\Users\\暑水\\Desktop\\实验\\实验数据\\user_lable1.xlsx");
            // 创建一个工作簿
            XSSFWorkbook Newworkbook = new XSSFWorkbook();
            // 创建一个工作表
            XSSFSheet Newsheet = Newworkbook.createSheet("sheet1"); 
            // 将数据填入新的表格中
            for (int row = 0; row < 100; ++row) {
                //创建行
                XSSFRow Newrows = Newsheet.createRow(row);                                          
                for(int col = 0; col < 36; ++col) {
                    //按列写入
                    Newrows.createCell(col).setCellValue("col"+col); 
                    }
            //将excel写入
            FileOutputStream fileOutputStream = new FileOutputStream(NewxlsFile);       
            Newworkbook.write(fileOutputStream);
    

    注:其中XSSF指的是excel版本为2007以上,HSSF是2003版本,一般直接使用XSSF即可。

    2、POI中的CellType类型以及值的对应关系

    Cell 类型 取值函数
    CELL_TYPE _NUMERIC 数值型 0 cell.getNumericCellValue()
    CELL_TYPE_STRING 字符串型 1 cell.getStringCellValue()
    CELL_TYPE_FORMULA 公式型 2 cell.getCellFormula()
    CELL_TYPE_BLANK 空值 3 空值
    CELL_TYPE_BOOLEAN 布尔型 4 cell.getBooleanCellvalue()
    CELL_TYPE_ERROR 错误 5 error

    获取类型:cell.getCellType()
    设置类型:cell.setCellType(XSSFCell.Cell类型)
    例如:cell.setCellType(XSSFCell.CELL_TYPE_STRING)

    附录:

    • String转int
      int a = Integer.parseInt(str);
      int a = Integer.valueOf(str);
    • int 转 String
      String str = String.valueOf(a);
      String str = Integer.toString(a);
      String str = a + "";

    3、所需jar包

    链接:链接:https://pan.baidu.com/s/1CT-OzkSe1SPbDDy2iHBFMA
    提取码:jla9

    所需jar包.png

    相关文章

      网友评论

          本文标题:Java 读写excel(POI)

          本文链接:https://www.haomeiwen.com/subject/tcjcmqtx.html