当前位置 : 主页 > 编程语言 > java >

Java 读取excel 文件流代码实例

来源:互联网 收集:自由互联 发布时间:2021-05-13
这篇文章主要介绍了Java 读取excel 文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 public static void

这篇文章主要介绍了Java 读取excel 文件流代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

代码如下

public static void initType(String path) {
  try {   
    //1 获取excel文件流  excel xls 文件  暂不支持xlsx
    if (path.contains("xlsx") || path.contains("XLSX")) {
      System.err.println("请使用xls格式文件");
      return;
    }
    InputStream inputStream = new FileInputStream(path);
    POIFSFileSystem fileSystem = new POIFSFileSystem(inputStream);
    HSSFWorkbook workbook = new HSSFWorkbook(fileSystem);
    //2 获取sheet 列数
    int sheets = workbook.getNumberOfSheets();
    //3 遍历所有sheet列
    for (int i = 0; i < sheets; i++) {
      //获取sheet
      HSSFSheet sheet = workbook.getSheetAt(i);
      //读取第一行
      HSSFRow headerRow = sheet.getRow(0);
      //获取sheet  所有行数
      int rows = sheet.getPhysicalNumberOfRows();
      List<String> headerColumns = new ArrayList<>();
      for (int j = 0; j < headerRow.getPhysicalNumberOfCells(); j++) {
        HSSFCell cell = headerRow.getCell(j);
        cell.getStringCellValue();
        headerColumns.add(cell.getStringCellValue());
      }
      //获取类型
      HSSFRow secondRow = sheet.getRow(1);     
      int cells = secondRow.getPhysicalNumberOfCells();   
      //对第二行的数据进行操作
      for (int j = 1; j < rows; j++) {
        HSSFRow row = sheet.getRow(j);
        List<String> cellsValue = new ArrayList<>();
        //获取字段属性  
        for (int k = 2; k < cells; k++) {
          cellsValue.add(row.getCell(k).getStringCellValue());
        }            
      }   
    } 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

网友评论