zoukankan      html  css  js  c++  java
  • JAVA 使用 POI进行读取Excel表格示例

    导包

    编码
    
    public class PoiTest {
    
        /**
         * 最终效果
         *  表头一内容0  表头二内容1  表头三内容2
            表头一内容1  表头二内容2  表头三内容3
            表头一内容2  表头二内容3  表头三内容4
            表头一内容3  表头二内容4  表头三内容5
            表头一内容4  表头二内容5  表头三内容6
            表头一内容5  表头二内容6  表头三内容7
            表头一内容6  表头二内容7  表头三内容8
            表头一内容7  表头二内容8  表头三内容9
            表头一内容8  表头二内容9  表头三内容10
            表头一内容9  表头二内容10 表头三内容11
         * 写数据
         * 
         * @throws IOException
         */
        @Test
        public void testWriteExlPoi() throws IOException {
            // 创建工作簿
            HSSFWorkbook workbook = new HSSFWorkbook();
            HSSFSheet newSheet = workbook.createSheet("我的工作簿一");
    
            for (int i = 0; i < 10; i++) {
                HSSFRow row1 = newSheet.createRow(i);
                row1.createCell(0).setCellValue("表头一内容" + i);
                row1.createCell(1).setCellValue("表头二内容" + (i + 1));
                row1.createCell(2).setCellValue("表头三内容" + (i + 2));
    
            }
    
            OutputStream fileOutPutStream = new FileOutputStream("D:/demo.xls");
            workbook.write(fileOutPutStream);
    
            fileOutPutStream.close();
        }
    
        // @Test
        public void testReadExlPoi() throws IOException {
            String filePath = "D:\test.xls";
    
            // 获取文档
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filePath));
            // 获取表格
            HSSFSheet oneSheet = workbook.getSheetAt(0);
    
            // 获取行
            for (Row row : oneSheet) {
                // 遍历每一行的列
                for (Cell cell : row) {
                    // 获取每列中的数据
                    // 获取类型
                    int cellType = cell.getCellType();
                    if (cellType == Cell.CELL_TYPE_NUMERIC) {
                        // 数字类型
                        double numericCellValue = cell.getNumericCellValue();
                        System.out.print(numericCellValue + "	");
                    } else if (cellType == Cell.CELL_TYPE_STRING) {
                        // 字符串类型
                        String value = cell.getStringCellValue();
    
                        System.out.print(value + "	");
                    } else if (cellType == Cell.CELL_TYPE_FORMULA) {
                        // 公式类型
    
                        String value = cell.getCellFormula();
    
                        System.out.print(value + "	");
                    }
    
                }
    
                System.out.println();
            }
    
        }
    }
  • 相关阅读:
    effective C++
    bat取时间间隔
    bat设置windows计划任务
    listener.ora 与 tnsnames.ora
    route(windows)
    bat 数组实现
    非const引用参数传入不同类型编译不过的理解(拒绝将临时对象绑定为非const的引用的形参是有道理的)
    python no module named builtins
    Caffe使用新版本CUDA和CuDNN
    Ubuntu16.04安装vim8
  • 原文地址:https://www.cnblogs.com/shaofeer/p/11154346.html
Copyright © 2011-2022 走看看