我是靠谱客的博主 大意故事,最近开发中收集的这篇文章主要介绍java jdbc+poi将ResultSet结果集生成的数据存入Excel对应sheet页,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

通过jdbc创建连接stmt 实例获取ResultSet结果集,由于结果集关闭则无法获取,所以需要一步写入或者持久化连接,我这里提供了一次写入关闭流。
首先conn.createStatement是支持持久化连接的,分为不带参,两个和三个参数,在jdbc2.0+,不了解的自行百度

/**
**@author zxf
**/
public static ArrayList<ResultSet> ResultSetList(String outName,String[] sheetNameList,String[] sql) throws Exception {
		ArrayList<ResultSet> rSets=new ArrayList<ResultSet>();
		try {
			stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT);
			for (int i = 0; i < sql.length; i++) {
				String name = "";
				ResultSet rs = stmt.executeQuery(sql[i]);
				ResultSetMetaData rsdate = rs.getMetaData();
				int count = rsdate.getColumnCount();
				System.out.println(sql[i]);
				rSets.add(rs);
				String sheetName=sheetNameList[i];
				ExcelUtil.toExcel(rs, outName,sheetName);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			stmt.close();
		}
		
		return rSets;
	}

将获取的结果集写入Excel

public static void toExcel(ResultSet rs, String outName,String sheetName) throws Exception {
		FileInputStream fileInputStream=new FileInputStream(outName);
		HSSFWorkbook wb = new HSSFWorkbook(fileInputStream);
		HSSFSheet sheet=null;
		if (wb.getSheet(sheetName)==null) {
			sheet = wb.createSheet(sheetName);
		}
		sheet=wb.getSheet(sheetName);
		HSSFRow row = sheet.createRow(0);
		HSSFCell cell;
		for (int j = 0; j < rs.getMetaData().getColumnCount(); ++j) {
			String colName = rs.getMetaData().getColumnLabel(j + 1);
			cell = row.createCell(j);
			cell.setCellValue(colName);
		}
		int i = 0;
		while (rs.next()) {
			row = sheet.createRow(i + 1);
			for (int j = 0; j < rs.getMetaData().getColumnCount(); ++j) {
				String c = rs.getString(j + 1);
				row.createCell(j).setCellValue(c);
			}
			++i;
		}
		FileOutputStream foStream = new FileOutputStream(outName);
		wb.write(foStream);
		foStream.flush();
		foStream.close();

	}

最后

以上就是大意故事为你收集整理的java jdbc+poi将ResultSet结果集生成的数据存入Excel对应sheet页的全部内容,希望文章能够帮你解决java jdbc+poi将ResultSet结果集生成的数据存入Excel对应sheet页所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部