`
本来不想注册
  • 浏览: 197393 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用poi 从数据库导出生成Excel文件

阅读更多
最近做一个月参与了公司两个小项目,毕业快两年,参与项目还真少!所以呢,本人掌握的知识还是很有限,完成了某些功能,需要放到这里,供日后参考!

如何从数据库中导出数据生成Excel文档

首先第一步,我参考了POI 这个开源项目,从其官方网站download需要用到的jar包。 http://poi.apache.org/

然后项目采用的是Struts1.* 的版本,ok,那么放一些关键代码上来:

Action中的代码:
	public ActionForward doExportExcel(ActionMapping mapping, ActionForm form, 
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		ExportExcelService eeService = new ExportExcelService();		
		RawDataExportSearchForm rawDataExportSearchForm = (RawDataExportSearchForm) form;		
		
	
		response.setContentType("APPLICATION/OCTET-STREAM");
		response.setHeader("Content-Disposition", "attachment; filename=\" " + "Reporting.xls" + "\"");
		
		HSSFWorkbook wb = eeService.doExportExcel(request, rawDataExportSearchForm);
		BufferedOutputStream buf = new BufferedOutputStream(response
				.getOutputStream());
		wb.write(buf);
		buf.close();
		
		return mapping.findForward("doExporting");
	}



说明下: RawDataExportSearchForm 是前台页面用来查询的ActionForm,用于传入参数(parameters)

Service的代码:
		public HSSFWorkbook doExportExcel(HttpServletRequest request, RawDataExportSearchForm form){
HSSFWorkbook workbook = new HSSFWorkbook();
				HSSFSheet worksheet = workbook.createSheet("Sheet1");

				// index from 0,0... cell A1 is cell(0,0)
				HSSFRow rowHead = worksheet.createRow((short) 0);

				HSSFCell cellHeadA = rowHead.createCell((short) 0);
				cellHeadA.setCellValue("第一行列名");

				HSSFCell cellHeadB = rowHead.createCell((short) 1);
				cellHeadB.setCellValue("第一行列名");


				HSSFCell cellHeadC = rowHead.createCell((short) 2);
				cellHeadC.setCellValue("第一行列名");

				HSSFCell cellHeadD = rowHead.createCell((short) 3);
				cellHeadD.setCellValue("第一行列名");

…………

//第一行列名写完后


//从DB中获取Data,组装成HashMap
HashMap<Long, RawData> rawDataMap = getRawDataFromDB(form);					
				Set keys = rawDataMap.keySet();
				RawData rawData = null;	
				int i = 1;
//遍历List中的每一个Object
				for(Iterator iter = keys.iterator(); iter.hasNext(); i++){
					rawData = rawDataMap.get(iter.next());									
					HSSFRow row = worksheet.createRow((short) i);
					
					HSSFCell cellA = row.createCell((short) 0);
					cellA.setEncoding(HSSFCell.ENCODING_UTF_16);
					cellA.setCellValue(rawData.getField1());
					
					HSSFCell cellB = row.createCell((short) 1);
					cellB.setEncoding(HSSFCell.ENCODING_UTF_16);
					cellB.setCellValue(rawData.getField2());
					
					HSSFCell cellC = row.createCell((short) 2);
					cellC.setEncoding(HSSFCell.ENCODING_UTF_16);
					cellC.setCellValue(rawData.getField3());
					
					HSSFCell cellD = row.createCell((short) 3);
					cellD.setEncoding(HSSFCell.ENCODING_UTF_16);
					cellD.setCellValue(rawData.getField4());

……

//till to end, cell.setEncoding(HSSFCell.ENCODING_UTF_16);是为解决显示中文出乱码问题

}

return workbook;	
}



结束了
分享到:
评论
1 楼 本来不想注册 2010-01-12  
return mapping.findForward("doExporting");  


由于excel文档是从response流中读出,所以并不需要在action中加入这么一行,应该改成
return null;


对应的配置文件中的forward的配置也应该去去掉,这样就okay了

相关推荐

    使用poi从数据库导出excel表的示例

    总结起来,"使用poi从数据库导出excel表的示例"是一个结合了Struts1 MVC框架和Apache POI库的Java编程任务,它涉及数据库连接、SQL查询、Excel文件生成以及Web应用响应。这个过程不仅有助于数据的高效管理和分享,也...

    使用POI从数据库导出对应EXCEL格式数据

    通过以上步骤,你可以构建一个功能完善的、使用Apache POI从数据库导出Excel的系统,使用户能够方便地从网页下载他们需要的数据。这个过程涉及到数据库操作、Java对象映射、文件流处理等多个技术点,是Java Web开发...

    利用POI实现数据库导出Excel

    8. **保存文件**:创建FileOutputStream,将Workbook写入输出流,最终生成Excel文件。记得关闭所有打开的资源以避免内存泄漏。 9. **代码注释**:提供的文档代码(有注释)应该包含了上述步骤的详细实现,通过阅读...

    spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库.zip

    "spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库",开发者利用了Spring Boot、MyBatis Plus和EasyPoi库来实现了一个功能强大的数据交互系统,允许用户将数据库中的数据导出为Excel格式...

    SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip

    在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...

    java实现mysql数据库的表导出到excel文件

    本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...

    jxl从数据库导出到excel工具包

    **标题解析:**"jxl从数据库导出到excel工具包" ...以上就是关于"jxl从数据库导出到excel工具包"的相关知识点,包括jxl库的使用、与数据库操作的结合、在MVC框架下的应用,以及在实际开发中需要注意的各个层面。

    SpringBoot +Mybatis +POI导入、导出Excel文件

    总的来说,"SpringBoot + Mybatis + POI导入、导出Excel文件"的项目是一个实用的工具,可以帮助开发者快速实现数据交换功能,提高工作效率。通过理解SpringBoot的自动配置、Mybatis的SQL映射以及POI的Excel操作,...

    excel表导入数据库 数据库导出excel(idea平台)

    在这个主题中,我们将深入探讨如何使用Java技术栈,特别是基于IDEA开发环境,来实现在JSP和Servlet中进行Excel与数据库之间的数据导入和导出。 首先,我们需要了解Java中用于处理Excel文件的库,如Apache POI。...

    使用poi根据导入模板生成excel

    在本项目中,“使用poi根据导入模板生成excel”是核心任务,这意味着我们需要利用POI库处理已有的Excel模板,生成新的Excel表格,并填充数据。 首先,我们需要了解Apache POI的基本结构和使用方法。POI提供了HSSF...

    java操作数据库 导出excel

    总结来说,完成"java操作数据库导出excel"的任务,你需要掌握以下关键点: 1. 使用JDBC连接数据库,执行SQL查询。 2. 处理ResultSet,获取查询结果。 3. 引入Apache POI库,创建Excel工作簿和工作表。 4. 将数据库...

    【转】通用从数据库导出excel、excel导入数据库组件

    标题中的“通用从数据库导出excel、excel导入数据库组件”是指一种软件工具或技术,它允许用户方便地将数据从数据库导出到Excel电子表格格式,并能将Excel数据反向导入回数据库。这样的组件通常在数据迁移、数据分析...

    poi导出,导出excel文件

    本篇将详细讲解如何使用Apache POI进行Excel文件的导出操作。 首先,我们需要了解Apache POI的基本概念。Apache POI是一个Java库,它允许开发者在Java应用程序中处理Microsoft Office格式的文档。它提供了HSSF...

    从数据库导出Excel表格

    这篇关于“从数据库导出Excel表格”的主题,聚焦于Java编程语言如何实现这一功能。数据库通常用于存储大量的结构化数据,而Excel则是处理和分析这些数据的理想工具。通过编程将数据库中的数据导出到Excel表格,我们...

    导出数据库数据到Excel

    8. **保存文件**:最后,使用FileOutputStream将工作簿写入磁盘,生成Excel文件。 例如,以下是一个简单的示例代码片段,展示了如何使用POI将数据库结果写入Excel: ```java import org.apache.poi.hssf.usermodel...

    springboot+mybatis+poi 实现excel导入导出

    - 导出:同样,先从数据库查询数据,转换为Excel所需的格式,再使用POI创建新的工作簿和工作表,填充数据,最后写入到OutputStream或者保存为文件。 ```java List&lt;Student&gt; students = studentMapper.selectAll()...

    jsp实现excel上传至数据库,以及 从数据库导出excel

    在本项目中,JSP用于构建用户界面,接收用户上传的Excel文件,并处理从数据库导出的Excel文件下载请求。 2. Oracle:Oracle是流行的关系型数据库管理系统,广泛应用于企业级应用。在这里,它作为数据存储的平台,...

    把文件导入或导出生成excel文件jar包

    本篇将深入探讨如何使用Java来实现数据库数据的导出以及TXT文件到Excel的转换,基于提供的"把文件导入或导出生成excel文件jar包"。 首先,我们需要理解Java中处理Excel文件的基本概念。Java提供了一些库,如Apache ...

    java利用POI技术上传&导出Excel表格并保存数据至数据库

    在Java开发中,处理Excel文件是一项常见的任务,尤其是在数据导入导出、数据分析和报表生成等场景。Apache POI是一个强大的库,专为处理Microsoft Office格式的文件,包括Excel(.xlsx 和 .xls)文档。本篇文章将...

    使用java将数据库数据导出到excel文件

    在IT行业中,数据库管理和数据分析是至关重要的任务...通过这个过程,我们可以高效地将数据库中的数据导出到Excel文件,便于数据分析、报表生成或与其他系统交换数据。这种方法尤其适用于需要定期导出数据的业务场景。

Global site tag (gtag.js) - Google Analytics