最近做一个月参与了公司两个小项目,毕业快两年,参与项目还真少!所以呢,本人掌握的知识还是很有限,完成了某些功能,需要放到这里,供日后参考!
如何从数据库中导出数据生成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;
}
结束了
分享到:
相关推荐
总结起来,"使用poi从数据库导出excel表的示例"是一个结合了Struts1 MVC框架和Apache POI库的Java编程任务,它涉及数据库连接、SQL查询、Excel文件生成以及Web应用响应。这个过程不仅有助于数据的高效管理和分享,也...
通过以上步骤,你可以构建一个功能完善的、使用Apache POI从数据库导出Excel的系统,使用户能够方便地从网页下载他们需要的数据。这个过程涉及到数据库操作、Java对象映射、文件流处理等多个技术点,是Java Web开发...
8. **保存文件**:创建FileOutputStream,将Workbook写入输出流,最终生成Excel文件。记得关闭所有打开的资源以避免内存泄漏。 9. **代码注释**:提供的文档代码(有注释)应该包含了上述步骤的详细实现,通过阅读...
"spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库",开发者利用了Spring Boot、MyBatis Plus和EasyPoi库来实现了一个功能强大的数据交互系统,允许用户将数据库中的数据导出为Excel格式...
在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...
本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...
**标题解析:**"jxl从数据库导出到excel工具包" ...以上就是关于"jxl从数据库导出到excel工具包"的相关知识点,包括jxl库的使用、与数据库操作的结合、在MVC框架下的应用,以及在实际开发中需要注意的各个层面。
总的来说,"SpringBoot + Mybatis + POI导入、导出Excel文件"的项目是一个实用的工具,可以帮助开发者快速实现数据交换功能,提高工作效率。通过理解SpringBoot的自动配置、Mybatis的SQL映射以及POI的Excel操作,...
在这个主题中,我们将深入探讨如何使用Java技术栈,特别是基于IDEA开发环境,来实现在JSP和Servlet中进行Excel与数据库之间的数据导入和导出。 首先,我们需要了解Java中用于处理Excel文件的库,如Apache POI。...
在本项目中,“使用poi根据导入模板生成excel”是核心任务,这意味着我们需要利用POI库处理已有的Excel模板,生成新的Excel表格,并填充数据。 首先,我们需要了解Apache POI的基本结构和使用方法。POI提供了HSSF...
总结来说,完成"java操作数据库导出excel"的任务,你需要掌握以下关键点: 1. 使用JDBC连接数据库,执行SQL查询。 2. 处理ResultSet,获取查询结果。 3. 引入Apache POI库,创建Excel工作簿和工作表。 4. 将数据库...
标题中的“通用从数据库导出excel、excel导入数据库组件”是指一种软件工具或技术,它允许用户方便地将数据从数据库导出到Excel电子表格格式,并能将Excel数据反向导入回数据库。这样的组件通常在数据迁移、数据分析...
本篇将详细讲解如何使用Apache POI进行Excel文件的导出操作。 首先,我们需要了解Apache POI的基本概念。Apache POI是一个Java库,它允许开发者在Java应用程序中处理Microsoft Office格式的文档。它提供了HSSF...
这篇关于“从数据库导出Excel表格”的主题,聚焦于Java编程语言如何实现这一功能。数据库通常用于存储大量的结构化数据,而Excel则是处理和分析这些数据的理想工具。通过编程将数据库中的数据导出到Excel表格,我们...
8. **保存文件**:最后,使用FileOutputStream将工作簿写入磁盘,生成Excel文件。 例如,以下是一个简单的示例代码片段,展示了如何使用POI将数据库结果写入Excel: ```java import org.apache.poi.hssf.usermodel...
- 导出:同样,先从数据库查询数据,转换为Excel所需的格式,再使用POI创建新的工作簿和工作表,填充数据,最后写入到OutputStream或者保存为文件。 ```java List<Student> students = studentMapper.selectAll()...
在本项目中,JSP用于构建用户界面,接收用户上传的Excel文件,并处理从数据库导出的Excel文件下载请求。 2. Oracle:Oracle是流行的关系型数据库管理系统,广泛应用于企业级应用。在这里,它作为数据存储的平台,...
本篇将深入探讨如何使用Java来实现数据库数据的导出以及TXT文件到Excel的转换,基于提供的"把文件导入或导出生成excel文件jar包"。 首先,我们需要理解Java中处理Excel文件的基本概念。Java提供了一些库,如Apache ...
在Java开发中,处理Excel文件是一项常见的任务,尤其是在数据导入导出、数据分析和报表生成等场景。Apache POI是一个强大的库,专为处理Microsoft Office格式的文件,包括Excel(.xlsx 和 .xls)文档。本篇文章将...
在IT行业中,数据库管理和数据分析是至关重要的任务...通过这个过程,我们可以高效地将数据库中的数据导出到Excel文件,便于数据分析、报表生成或与其他系统交换数据。这种方法尤其适用于需要定期导出数据的业务场景。