欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 导出数据为xls文件,导出Excle表格

程序员文章站 2022-03-07 22:21:38
...

之前记录了一下工作中用到的工具类。有一个POIUtil是用来导出数据为xls文件和word文档的。说要写一个demo的。
工具类传送门:导出数据为word文档或者excle的工具类

下面是我抽空写的一个小demo:

	/**
	 * 导出xls文件测试
	 * @throws FileNotFoundException 
	 */
	@Test
	public void exportExcle() throws FileNotFoundException
	{
		InputStream templInputStream = null;
		FileOutputStream os = null;
		FileOutputStream ops = null;
		
		List<Map> list = new ArrayList<Map>();
		
		//因为导出的是xls文件,所以可以一次导出多条。可以从数据库中查询多条,然后遍历导出。这里只做示范
		for (int i = 0; i < 3; i++) {
			Map<String, String> map = new HashMap<String, String>();
			
//			正式写的时候需要利用三元运算符。如果为null的话就写入一个空字符串    如果不这样的话好像是会报错的。
//			map.put("名字", pojo.getName() == null ? "" : pojo.getName());
			map.put("name","张三");
			map.put("age","15");
			map.put("phone","12345678910");
			
			list.add(map);
			
			//获取模板文件
			 File f = new File("D:/Pictures/exportExcleDemo.xls");
			templInputStream = new FileInputStream(f);

			os = new FileOutputStream("E:/data/导出xls文件.xls");
			/*
			 * 直接把POI的输出流与resonse的输入流接起来,就可以 需要输出流
			 */
		}
		
//		保存到文件中 参数1:是模板 参数2:数据 参数3:保存的文件要存储的路径
		this.poiUtil.writeExcelModel(templInputStream, list, os);
		
	}
	
	

模板文件的格式:

java 导出数据为xls文件,导出Excle表格

导出的结果:
java 导出数据为xls文件,导出Excle表格

导出数据为word文档传送门java 导出数据为word文档