`

读取数据库文件用POI生成Excel

    博客分类:
  • JAVA
阅读更多
读取数据库中的数据导出成Excel在页面可供用户下载,代码如下:
	/**
	 * 读取数据库文件生成Excel
	 * 
	 */
	public String paymentsToExcel(List<VerifyCode> verifyCodesList) {
     //verifyCodesList是读取数据库数据存入List中
		String sheetName = "随机码列表"; 
		String xlsName = System.currentTimeMillis()+".xls";
		//创建Excel的工作册 Workbook,对应到一个excel文档
		HSSFWorkbook workbook = new HSSFWorkbook();
		//创建Excel的工作sheet,对应到一个excel文档的tab
		HSSFSheet sheet = workbook.createSheet();
		workbook.setSheetName(0,sheetName);
		HSSFRow row= sheet.createRow((short)0);;
		HSSFCell cell;
		int nColumn=fields.length;
		//excel列名
		row = sheet.createRow((short)0);
		for(int j=1;j<=nColumn;j++)
		{
			//序列ID
			cell = row.createCell(j-1);
			cell.setCellType(HSSFCell.CELL_TYPE_STRING);
			Object objReturnValue = fieldsName[j-1] ;
			cell.setCellValue(objReturnValue+"");
		}
		int iRow=1;
		//写入各条记录,每条记录对应Excel中的一行
		for (LicaiVerifyCode liCaiVerifyCode:verifyCodesList){
			row = sheet.createRow((short)iRow);
			for(int j=1;j<=nColumn;j++)
			{
				//序列ID
				cell = row.createCell(j-1);
				String objReturnValue = "" ;
				cell.setCellType(HSSFCell.CELL_TYPE_STRING);
				try {
					Method currentMethod = liCaiVerifyCode.getClass().getMethod(fields[j-1]);
					if(fields[j-1].equals("getEffectiveTime")||fields[j-1].equals("getFailureTime")||fields[j-1].equals("getCreateTime")||fields[j-1].equals("getLastModifyTime")){
						SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");
						objReturnValue = sd.format(currentMethod.invoke(liCaiVerifyCode));
					}else{
						objReturnValue = String.valueOf(currentMethod.invoke(liCaiVerifyCode));
					}
				} catch (Exception ex) {
					ex.printStackTrace();	
				}
				cell.setCellValue(objReturnValue+"");
			}
			iRow++;
		}
		try {
			//输出
			ActionContext context = ActionContext.getContext();
			HttpServletResponse response = (HttpServletResponse) context.get(ServletActionContext.HTTP_RESPONSE); 
			response.setHeader("Content-disposition",  "attachment;  filename="+xlsName);//设定输出文件头
			response.setContentType("application/vnd.ms-excel");//定义输出类型
			OutputStream os = response.getOutputStream();
			workbook.write(os); 
			os.close();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return SUCCESS;
	}
分享到:
评论

相关推荐

    poi实现生成excel,文件导出(备份)

    springboot+mybatis+poi的方式实现,从mysql数据库读取某一张表数据生成excel,完成页面文件导出(备份下载)功能

    用poi将Excel数据导入数据库/java tools.jar动态类的生成

    本案例通过poi对Excel操作,读取Excel数据并导入数据库,并根据配置文件使用tools.jar动态生成DynamicExcel类,使用方便。。。过几天有时间会对其扩展。。

    java的POI操作excel

    poi对excel操作,包括生成excel,读excel,从数据库中读取数据产生excel等

    Anroid开发所需poi_jar包

    开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中,操作Excel目前有两个框架,一...jxl 由于其小巧 易用的特点, 逐渐已经取代了 POI-excel的地位, 成为了越来越多的java开发人员生成excel文件的首选。

    Excel文件生成、压缩和下载

    1.读取数据库生成excel; 主要文件:MakeExcel.java 2.对目录进行打包压缩; 主要文件:Myzip.java 3.下载文件,对文件下载后的名称进行设定; 主要文件:DateExport.java 使用时必需jar包: poi-2.5.1-final-...

    大数据Excel操作不会内存溢出POI

    同时支持Excel-2003和Excel-2007,excel-2003解析采用poi的eventusermodel模式实现,2007采用xmlreader实现,经项目验证,excel文件20W条数据没有任何问题,仅读取的话2-3分钟解析完毕。 网络上有关eventusermodel...

    SQL脚本生成器

    2、正向方式:首先把设计好数据库表文档,把所有表的字段属性配置到EXCEL或者CSV格式的文件通过JXL/POI技术去读取文件的字段,再通过其他技术一系列程序处理之后生成所需要的SQL脚本。 3、逆向方式:首先有数据库...

    HSSF:使用HSSF 对Excel导入导出的纯Java操作

    HSSF 使用HSSF 对Excel导入导出的纯Java操作 ...其中本文主要介绍使用Java读取和写入Excel文件(.xls格式)使用的HSSF. 最好还是使用SS组合,这样可以适应各种环境.下图为HSSF于XSSF的比较. 原理 HSSF既然是Ex

    freemarker生成复杂word

    POI读取Word文档比较适合、对于生成文档样式比较难控制,iText操作Excel还可以,对Word的操作功能有限,JACOB操作Word实现复杂,并且无法将服务部署到Linux平台,要求安装office,对于实现固定格式的报表实现困难,...

    Java范例开发大全 (源程序)

     实例134 生成Excel文件 194  实例135 读取Excel文件中的内容 198  实例136 生成PDF文件 199  实例137 读取PDF文件中的内容 203  实例138 用iText生成Word文件 205  实例139 利用POI读取Word文件中的内容...

    java范例开发大全(pdf&源码)

    实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 ...

    java范例开发大全源代码

     实例134 生成Excel文件 194  实例135 读取Excel文件中的内容 198  实例136 生成PDF文件 199  实例137 读取PDF文件中的内容 203  实例138 用iText生成Word文件 205  实例139 利用POI读取Word文件中...

    java范例开发大全

    实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 字符流 ...

    Java范例开发大全(全书源程序)

    实例134 生成Excel文件 194 实例135 读取Excel文件中的内容 198 实例136 生成PDF文件 199 实例137 读取PDF文件中的内容 203 实例138 用iText生成Word文件 205 实例139 利用POI读取Word文件中的内容 208 7.3 ...

    generator_sql.zip

    最近公司好多功能都进行了配置性操作,需要像数据库中插入数据,通过ongl表达式进行计算即可,每次复制粘贴和更改sql内容感觉特别麻烦,所以就通过读取excel表的数据就行sql生成操作.这样的话眼睛没有以前那么累了,也不...

Global site tag (gtag.js) - Google Analytics