java读取excel数据教程

今天写代码要实现一个功能,就是将excel的数据写到txt文件中,上网查了一些资料,发现了一个关于处理excel文件数据的jar包(POI)可以帮助我实现这个功能。

实现步骤

  1. 在pom文件引入开发依赖
		<dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>
  1. 编写逻辑代码,代码意思见注释
public static void main(String[] args) throws IOException {
     
	 //输入的excel文件
     File infile = new File("C:\\Users\\18395\\Desktop\\20176.1-20186.30.xlsx");
     //输出的txt文件
     File outfile = new File("C:\\Users\\18395\\Desktop\\新建文本文档.txt");
     FileInputStream fis = new FileInputStream(infile);
     FileOutputStream fos = new FileOutputStream(outfile);

     //创建excel文件对象
     XSSFWorkbook xssFWorkbook = new XSSFWorkbook(fis);
     String data = null;

     //遍历每个sheet单元(一个excel包含几个sheet)
     for (int numsheet = 0 ; numsheet < xssFWorkbook.getNumberOfSheets() ; numsheet++) {
     

         //获取每一个sheet对象
         XSSFSheet eachsheet = xssFWorkbook.getSheetAt(numsheet);

         if (eachsheet == null) continue;
         //每一个sheet最后一行的行号
         System.out.println(eachsheet.getLastRowNum());
		
		 //循环遍历每一行数据
         for (int rowNum = 1 ; rowNum <= eachsheet.getLastRowNum() ; rowNum++) {
     
             //获取每一行对象
             XSSFRow row = eachsheet.getRow(rowNum);

             if (row != null) {
     
                 //获取每一行第一列数据
                 XSSFCell column1 = row.getCell(0);
                 //获取每一行第二列数据
                 XSSFCell column2 = row.getCell(1);
                 XSSFCell column3 = row.getCell(2);
                 XSSFCell column4 = row.getCell(3);
                 XSSFCell column5 = row.getCell(4);
                 XSSFCell target = row.getCell(5);
                 
                 //自定义数据写入格式
                 data = target + " " + "1:" + column2.toString() + " " + "2:" + column3.toString()
                         + " " + "3:" + column4.toString() + " " + "4:" + column5.toString();
				 //将数据写入txt文件中
                 fos.write(data.getBytes());
                 fos.write("\n".getBytes());
             }
         }

         fis.close();
         fos.close();
     }
}

注意:更多有关POI包中各类各方法的用法见:POI核心类
或者博客:Java 从Excel中读数据

你可能感兴趣的:(java读取excel数据教程)