报表的生成一般从数据库中重新取:
在struts2中action中返回一个InputStream 输入流,方法的名字必须和struts.xml文件中配置的<param name="inputName">downLoadFile</param>中的inputName相对应即get方法,第一个字母大写:
public InputStream getDownLoadFile(){
//create excel report
//first create workbook
HSSFWorkbook workBook = new HSSFWorkbook();
//create sheet
HSSFSheet sheet = workBook.createSheet("UserSheet");
//create row ,
HSSFRow row = sheet.createRow(0);
//create cell
HSSFCell cell = row.createCell((short)0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("序号");
cell = row.createCell((short)1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("姓名");
cell = row.createCell((short)2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("年龄");
cell = row.createCell((short)3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("电子邮箱");
cell = row.createCell((short)4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("出生日期");
cell = row.createCell((short)5);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("地址");
List<User> users = UserUtils.getAllUsers();
for(int i = 0;i<users.size();i++){
User user = users.get(i);
//创建里一行
row = sheet.createRow(i + 1);
cell = row.createCell((short)0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(i+1);
cell = row.createCell((short)1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(user.getName());
cell = row.createCell((short)2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(user.getAge());
cell = row.createCell((short)3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(user.getEmail());
cell = row.createCell((short)4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(user.getBirthday());
cell = row.createCell((short)5);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(user.getAddress());
}
ByteArrayOutputStream os = new ByteArrayOutputStream();
try {
//把workBook中的数据以字节数组的形式写进输出流中
workBook.write(os);
} catch (IOException e) {
e.printStackTrace();
}
//获取输出流的内容
byte[] content = os.toByteArray();
//写进输入流中
InputStream is = new ByteArrayInputStream(content);
return is;
}
在struts.xml配置文件中的配置:
<action name="generateExcel" class="com.test.action.GenerateExcelAction">
<result name="success" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">filename="UserInformation.xls"</param>
<param name="inputName">downLoadFile</param>
</result>
</action>
本论文仅供个人学习,有感兴趣的可以作为参考。
分享到:
相关推荐
Excel报表生成器是一种工具,主要用于自动化地从数据库中提取数据并将其整理成结构化的报表格式。这个工具大大简化了数据分析和报告制作的过程,尤其适用于需要频繁处理大量数据的IT专业人士和业务分析师。以下是对...
在.NET框架下,生成Excel报表是一项常见的任务,尤其在数据处理、数据分析以及报告制作中。以下将详细讲解如何使用.NET来创建Excel报表,包括基本概念、常用库和技术、步骤及示例。 首先,理解Excel报表的基本概念...
【标题】"Excel报表生成工具---JExcel"是一款专门用于创建和编辑Excel电子表格的Java库,它使得在编程环境中生成动态报表变得简单易行。JExcelAPI是这个工具的核心,它提供了丰富的功能,允许开发者通过代码直接操作...
### 基于LabVIEW的Excel报表生成技术研究 #### 概述 随着现代科学实验与工业生产对大规模、自动化及智能化电子测控系统需求的增长,虚拟仪器技术逐渐成为实现这些目标的关键技术之一。虚拟仪器技术的核心优势在于...
### JAVA环境中基于XML的一种EXCEL报表生成方法 在企业信息化快速发展的背景下,制造执行系统(MES)与企业资源计划(ERP)等系统的广泛应用,使得报表打印功能成为了企业信息管理系统中不可或缺的部分。报表作为...
### Excel报表生成技术详解 #### 一、引言 在现代企业环境中,数据处理与分析是日常工作中的重要组成部分。为了更好地管理和分析数据,许多企业和组织采用报表生成工具来自动化这一过程。本文将详细介绍如何在AB...
用配置文件生成器生成配置文件,导入配置文件然后调用DLL类库到处SQL SERVER的数据到EXCEL表格。 注意:基于MS .Net Framework 4.0 实例代码: Dim r As New AMReport.AmReport Dim app As New Microsoft.Office....
根据提供的标题、描述以及部分代码内容,我们可以总结出与 .NET 框架下生成企业 Excel 报表相关的几个重要知识点: ### 1. 使用 .NET 框架生成 Excel 报表的基本概念 在 .NET 环境中生成 Excel 文件主要涉及到两种...
在本资料“边干边学LabVIEW报表生成.zip”中,重点讲述了如何利用LabVIEW生成Excel和Word报表,以展示和分析实验或测量数据。以下是对这些知识点的详细说明: 1. **LabVIEW的数据采集与处理**:LabVIEW能够方便地...
5. **Excel报表生成**:对于需要复杂数据分析和展示的情况,Excel报表是理想的选择。LabVIEW可以操作Excel工作簿和工作表,写入数据,创建公式,以及应用样式和格式。你可以生成包含多工作表的Excel文件,每个工作表...
【基于Excel文件格式的报表生成器1】是一种用于创建Excel报表的工具,它允许程序员无需直接处理Excel文件的读写细节,而是通过定义模板和数据源来自动化生成报表。以下是该报表生成器的关键知识点: 1. **需求定义*...
`src` 目录通常是源代码存放的位置,这里可能有实现了Excel报表生成逻辑的Java类,以及与数据库交互的代码。 `example` 目录可能包含了一些示例代码或者模板,这些可以帮助用户快速理解和上手这个Java Excel报表库...
LabVIEW报表生成子VI能够支持复杂的Excel报表生成,这使得工程师和科学家能够更有效地记录和展示测试结果。不同于Word报表生成需要借助ActiveX控件,LabVIEW自身的报表子VI为Excel报表生成提供了原生的支持。 总结...
在Java编程环境中,生成Excel报表是一项常见的任务,尤其在数据处理和数据分析领域。"java绝对生成excel报表"这个标题暗示了我们可以通过Java实现对Excel文件的创建和操作,确保能够生成精确的表格形式的数据报告。...
3. **Excel报表生成**: - 利用Excel强大的数据分析和图表功能,我们可以构建自动化报表。首先,建立Excel工作簿,并设置好所需的格式和公式。 - 使用Excel的VBA(Visual Basic for Applications)编程,编写宏来...
基于C#的Excel报表自动生成技术,不仅提升了报表生成的灵活性和效率,还充分利用了Excel在数据处理和展示上的优势,为企业提供了更为高效、定制化的报表解决方案。通过掌握C#与Excel对象模型的交互技巧,开发者能够...
在VC++编程环境中,连接ADO...以上知识点涵盖了标题和描述中提到的主要内容,涉及VC++、ADO、SQL Server 2005数据库连接以及Excel报表生成的各个方面。实际应用中,开发者会根据具体需求对这些知识进行灵活运用和扩展。
本主题聚焦于如何利用LabVIEW来生成Excel报表,这在数据可视化、实验结果记录以及报告制作等方面非常实用。 首先,LabVIEW中的“报表生成”功能允许用户将数据输出到各种格式,包括Excel。这种能力得益于LabVIEW...