当前访客身份:游客 [ 登录 | 加入 OSCHINA ]

代码分享

当前位置:
代码分享 » Java  » 文件处理和文本解析
Zee

基于POI读取Excel的工具类

Zee 发布于 2011年10月22日 0时, 13评/10086阅
分享到: 
收藏 +0
1
导入Excel一直都是信息系统的一项基本功能,它让用户的录入工作变得轻松快捷,然而,对于程序员来说,为了实现这一功能却需要花很多的精力去实现,如果Excel的表格字段够多,那肯定够你忙的了!
下面这个工具能帮助你轻松方便灵活的帮你实现Excel导入的功能。它是我自己使用过程中总结完成的,请高手多指正!
jar文件里面包含有java源代码!


标签: POI Excel

代码片段(2) [全屏查看所有代码]

1. [文件] excelReader.jar ~ 16KB     下载(1118)     [全屏预览]

2. [代码][Java]代码     跳至 [2] [全屏预览]

    	Excel2EntityConfig config = new Excel2EntityConfig();
		String[] columns = {"name", "password", "birthday"};
		config.setColumns(columns);
//		//设置日期的格式,和Excel里的日期格式一至
//		config
//				.setFormater(new SimpleDateFormat(
//						"yyyy.MM.dd"));
//		//设置从第行开始读,忽略前4行
//		config.setCurrPosittion(5);
//		//设置从第二列开始读取,忽略第一列的数序号列
//		config.setColStartPosittion(2);
		ExcelReader<TestEntity> excel = new ExcelReader<TestEntity>();
		excel.setExcel2EntityConfig(config);
		
		File file = new File("d:\\testEntity.xls"); //把testEntity.xls文件复制到d:
    	InputStream input = new FileInputStream(file);  
    	//如果现现EXCEl编码问题引起的读取问题,请将InputStream换成 ByteArrayInputStream 可解决问题
    	//ByteArrayInputStream input = new ByteArrayInputStream(byte[])	
    	excel.InitExcelReader(input); 
		try {
			TestEntity entity = new TestEntity();
			excel.setEntity(entity);
			entity = excel.readLine();
			
			while (entity != null) {				
				System.out.print(entity.getName()+" ");
				System.out.print(entity.getPassword()+" ");
				System.out.println(entity.getBirthday().toLocaleString());
				///保存实体代码
				entity = new TestEntity();
				excel.setEntity(entity);
				entity = excel.readLine();
			}
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} finally{
			input.close();
		}   	


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(13)

  • 1楼:菜根乱谭 发表于 2011-12-20 11:43 回复此评论
    非常好,谢谢分享!
  • 2楼:菜根乱谭 发表于 2011-12-20 14:30 回复此评论
    里面有个小bug,不能自动读下一个sheet,而且不支持2007以上版本。

  • 3楼:刘灿文 发表于 2012-01-16 13:14 回复此评论
    java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Cell。eclipse报的错误。
  • 4楼:Zee 发表于 2012-01-16 13:18 回复此评论

    引用来自“刘灿文”的评论

    java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.Cell。eclipse报的错误。
    该工具基于POI,请自行下载POI放入你的工程
  • 5楼:小羽 发表于 2012-03-22 20:23 回复此评论

    很好的,可以用,谢谢分享

  • 6楼:张小龙 发表于 2012-05-14 14:32 回复此评论
    谢谢分享。
  • 7楼:杨哲沣 发表于 2012-10-20 21:32 回复此评论
    先谢谢楼主分享,不过我用把poi的jar文件,和你的excelReader.jar文件导入项目图书馆里,跑起来还是会报错啊,说我导的2个包识别不了 com.azooly.excel.Excel2EntityConfig 和 com.azooly.excel.ExcelReader。 请问有什么遗漏的地方吗
  • 8楼:杨哲沣 发表于 2012-10-20 22:55 回复此评论

    引用来自“谭明智”的评论

    里面有个小bug,不能自动读下一个sheet,而且不支持2007以上版本。

    你好,我把poi的jar文件,和你的excelReader.jar文件导入项目图书馆里,跑起来还是会报错啊,说我导的2个包识别不了 com.azooly.excel.Excel2EntityConfig 和 com.azooly.excel.ExcelReader。 请问有什么遗漏的地方吗
  • 9楼:陈雨霖 发表于 2014-01-23 10:34 回复此评论

    引用来自“杨哲沣”的评论

    先谢谢楼主分享,不过我用把poi的jar文件,和你的excelReader.jar文件导入项目图书馆里,跑起来还是会报错啊,说我导的2个包识别不了 com.azooly.excel.Excel2EntityConfig 和 com.azooly.excel.ExcelReader。 请问有什么遗漏的地方吗
    我最近也在做这个 能教教我吗
  • 10楼:陈雨霖 发表于 2014-01-23 10:34 回复此评论

    引用来自“谭明智”的评论

    里面有个小bug,不能自动读下一个sheet,而且不支持2007以上版本。

    我最近也在做这个 能给点指导吗
  • 11楼:菜根乱谭 发表于 2014-01-25 14:36 回复此评论

    引用来自“陈雨霖”的评论

    引用来自“谭明智”的评论

    里面有个小bug,不能自动读下一个sheet,而且不支持2007以上版本。

    我最近也在做这个 能给点指导吗
    指导什么?
  • 12楼:莫坏人 发表于 2015-01-04 15:32 回复此评论
    里面有个小bug 下了包打包源码运行,其中读取数据是不完全的。主要是for循环哪儿。

  • 13楼:gzyLL 发表于 2015-09-08 15:23 回复此评论

    引用来自“莫坏人”的评论

    里面有个小bug 下了包打包源码运行,其中读取数据是不完全的。主要是for循环哪儿。

    我跑了一下,确实不完全,第一列没读,正在修改
开源从代码分享开始 分享代码
Zee的其它代码 全部(2)...