完美解决java读取excel表格2003及2007两种格式

本文介绍了一个Java类,用于从不同格式的Excel文件(.xls和.xlsx)中读取数据。该类通过检查文件后缀来确定文件类型,并相应地使用HSSFWorkbook或XSSFWorkbook对象进行读取。代码示例展示了如何处理InputStream并实例化正确的Workbook实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public class AutoTestExcelRead{
    
    private Workbook workbook;
    private final static String xls = "xls";  
    private final static String xlsx = "xlsx";  

    public String[] readExcelContent(InputStream is) throws 
IOException
    {
        String fileName =  "android_shop_testcase1_3.xlsx";     

  //获取文件名称,重点在后缀需要加上,两种格式03的xls,07的xlsx
        if(!fileName.endsWith(xls) && !fileName.endsWith(xlsx)){  

//判断文件后缀是否正确
            throw new IOException(fileName + "不是excel文件");  
        }  

//以下是重点啦。。。只要加上以下的if及else判断。。完美读取两种格式文件
        try {
            //filesystem = new POIFSFileSystem(is);  //载入excel文件
              //根据文件后缀名不同(xls和xlsx)获得不同的Workbook实现类对象  
            if(fileName.endsWith(xls)){  
                //2003  使用HSSFWorkbook
                workbook = new HSSFWorkbook(is);  
            }else if(fileName.endsWith(xlsx)){  
                //2007  使用XSSFWorkbook
                workbook = new XSSFWorkbook(is);  
            }  

            
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
     }
    }

转载于:https://my.oschina.net/henglaixuexiba/blog/994264

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值