POI操作excel workbook对象创建不出来,程序挂在那不走了!

发布于 2021-12-03 11:04:40 字数 1180 浏览 936 评论 5

使用POI来导入excel的数据到数据库

但是我在创建workbook对象的时候程序不走了,停在那了,debug也看不出来什么道道。

郁闷了,平常一直做POI,但是这还是第一次!

请大家给我看看啥问题!

代码:

InputStream file = new FileInputStream(excelFile);//excelFile是文件路径
		if (excelFile.substring(excelFile.lastIndexOf(".")).equals(".xls")) {
			System.out.println("==");//能打印出来
			wb=this.createWorkbook(file);
			//wb=new XSSFWorkbook(file);
			System.out.println(wb);//打印不出来




//创建Workbook
	public  Workbook createWorkbook(InputStream  in) throws  Exception {
	    if (!in.markSupported()) {
	        in = new PushbackInputStream(in, 8);
	        System.out.println(1);
	    }
	    if (POIFSFileSystem.hasPOIFSHeader(in)) {
	    	 System.out.println(2);
	        return new HSSFWorkbook(in);
	    }
	    if (POIXMLDocument.hasOOXMLHeader(in)) {
	    	 System.out.println(3);
	        return new XSSFWorkbook(OPCPackage.open(in));
	    }
	    throw new IllegalArgumentException("你的excel版本目前poi解析不了");
	}



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

英雄似剑 2021-12-05 12:58:33

换成2003的xls就好了.

飘然心甜 2021-12-05 11:23:33

层主,你好,冒昧问一下你的这个问题解决了吗,我现在也遇到了.

坐在坟头思考人生 2021-12-05 07:32:53

在这一句:wb=this.createWorkbook(file);,就是在创建wb对象不走了,也不报错,什么反应都没有,就是不动了。。。。

睫毛上残留的泪 2021-12-04 20:51:33

@80的尾巴 文件路径有问题么?

英雄似剑 2021-12-04 17:27:41

你这些语句都加了断点么?是在执行完哪一句后停滞不前的?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文