java读取excel文件并打印

readdatacs

package com.example.demo.getData;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.*;
import java.io.IOException;

public class readdatacs {
    public  static int rowNum;
    public static int columnNum;
//    public static String[] arr;
    public static String []arrdata ;public static String []datedata ;
    public static int i;public static int j;
    public static final String SAMPLE_XLSX_FILE_PATH = "C:/Users/83543/Desktop/data.xlsx";

    public static void main(String[] args) throws IOException, InvalidFormatException ,Exception{
        createsheet();

    }
    public static void createsheet() throws IOException, InvalidFormatException,Exception{
        Workbook workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));
        // Getting the Sheet at index zero
        Sheet sheet = workbook.getSheetAt(0);
        //获取总行数rowNum
        rowNum=sheet.getLastRowNum();
        //获取一个excel表格中的总记录数
        //int rowNum=storagesList.size();
        //获取指定列,索引从0开始
        //hssfCell=hssfRow.getCell((short)6);
        //获取总列数columnNum
        Row sheetRow=sheet.getRow(1);
        columnNum=sheetRow.getPhysicalNumberOfCells();
        System.out.println(rowNum+"??"+columnNum);
       i=0;j=0;
        sheet.forEach(row -> {
            row.forEach(cell -> {     //对每个元素都进行输出操作
                printCellValue(cell,i);
                i++;j++;
                if(j==6){
                    i-=6;
                }
            });
            System.out.println();
        });
        // Closing the workbook
        workbook.close();
    }

    public static void printCellValue(Cell cell,int i) {
        arrdata=new String[(rowNum*columnNum)];
        datedata=new String[(rowNum)];
//       i-=6;//减去第一行表头增加的6个
        switch (cell.getCellTypeEnum()) {
            case BOOLEAN:
                System.out.print(cell.getBooleanCellValue());
                break;
            case STRING: //输出了表名+第一列
                arrdata[i]=cell.getRichStringCellValue().getString();
                System.out.print(cell.getRichStringCellValue().getString());
                System.out.print(i);

                break;
            case NUMERIC://如果是数值型
                if (DateUtil.isCellDateFormatted(cell)) {
                    System.out.print(cell.getDateCellValue());
                } else {
                    //循环拿到数据,都放在一个里面,到时候循环拿,以6为单位,转化为字符串型
                    arrdata[i]=String.valueOf(cell.getNumericCellValue());
                    System.out.print(cell.getNumericCellValue());
                    System.out.print(i);
                }
                break;
            case FORMULA:
                System.out.print(cell.getCellFormula());
                break;
            case BLANK:
                System.out.print("");
                break;
            default:
                System.out.print("");
        }
        System.out.print("\t");
    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值