package com.test;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
* Servlet implementation class TestExcel
*/
public class TestExcel extends HttpServlet
{
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
StringBuffer sbFileName = new StringBuffer();
sbFileName.append("问卷类型维护报表.xls");
String fileName = "";
/*
* 浏览器不同 可能会造成导出的excel文件名出现乱码,解决方案是判断浏览器 然后根据不同的浏览器返回不同的编码格式.
*/
if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0)
{
fileName = new String(sbFileName.toString().getBytes("utf-8"),
"iso-8859-1");
}
else
{
fileName = URLEncoder.encode(sbFileName.toString(), "UTF-8");
}
response.reset();
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-excel");
response.setHeader("Content-Disposition", "attachment; filename="
+ fileName);
OutputStream os = response.getOutputStream();
List<User> list = new ArrayList<User>();
User u1 = new User(1, "A", 21);
User u2 = new User(2, "B", 22);
User u3 = new User(3, "C", 23);
User u4 = new User(4, "D", 24);
list.add(u1);
list.add(u2);
list.add(u3);
list.add(u4);
try
{
exportToExcel(list, os);
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
this.doGet(request, response);
}
private static void exportToExcel(List<User> list, OutputStream os)
throws Exception
{
WritableWorkbook workbook = Workbook.createWorkbook(os);
WritableSheet sheet1 = workbook.createSheet("检查表", 0);
sheet1.addCell(new Label(0, 0, "用户编号"));
sheet1.addCell(new Label(1, 0, "用户姓名"));
sheet1.addCell(new Label(2, 0, "用户年龄"));
for (int i = 0, n = list.size(); i < n; i++)
{
User info = (User) list.get(i);
Label id = new Label(0, i + 1,String.valueOf(info.getId()));
sheet1.addCell(id);
Label name = new Label(1, i + 1, info.getName());
sheet1.addCell(name);
Label age = new Label(2, i + 1, String.valueOf(info.getAge()));
sheet1.addCell(age);
}
workbook.write();
workbook.close();
}
}
分享到:
相关推荐
在“JSP SERVLET 导出数据库内容到EXCEL”的场景中,我们通常会通过以下步骤来实现: 1. **用户输入SQL语句**:用户在网页上的文本框中输入自定义的SQL查询语句,这使得系统具有很高的灵活性,可以根据需要获取不同...
在这个场景中,我们讨论的是如何使用Servlet和JSP(JavaServer Pages)来处理Excel文件的导入和导出,尤其是与MySQL数据库的交互。Excel文件有两种主要格式:XLS(Excel 97-2003工作簿)和XLSX(Excel 2007及以后...
本场景中,"servlet+api导出excel"指的是利用Servlet API来实现从数据库(这里是Oracle)中获取数据并导出为Excel文件供用户下载的功能。下面将详细解释这个过程涉及的技术点。 首先,我们需要了解Servlet API的...
在Excel导入导出过程中,Servlet将处理JSP提交的文件上传请求,读取Excel数据,并将数据保存到数据库或生成新的Excel文件。 Apache POI是Apache软件基金会的一个开源项目,专门用于读写Microsoft Office格式的文件...
在"Struts2+POI实现Excel导出"的场景中,开发者可以利用这两个工具为用户提供数据导出到Excel的功能。以下是一些关键知识点: 1. **Struts2框架**:Struts2是Action Servlet的一种实现,它是基于拦截器的MVC框架,...
在SpringBoot应用中,使用Apache POI库可以方便地实现Excel的导入与导出功能。Apache POI是一个流行的API,它允许程序员创建、修改和显示Microsoft Office格式的文件,其中包括Excel(.xls和.xlsx)文件。在这个场景...
在Java编程环境中,实现Excel导出功能是一项常见的需求,尤其在数据处理和报表生成时。以下将详细讲解如何使用Java实现简单的Excel导出功能。 首先,我们需要了解的是Java中用于处理Excel文件的主要库:Apache POI...
这个实例提供了两种方法来导出Excel文件:通过Servlet和通过main方法。这两种方法都是在Java环境中操作Excel数据的有效方式。 首先,让我们详细了解一下Apache POI库。POI提供了一个API,允许开发者在Java应用程序...
标题中的"excel导出的js"指的就是使用JavaScript库或方法来生成Excel文件。JavaScript是一种运行在客户端和服务器端的脚本语言,由于其强大的DOM操作能力和动态特性,常用于网页交互和前后端数据处理。对于Excel导出...
本项目以"jsp+servlet实现增删改查"为主题,旨在利用这两者实现CRUD(Create、Read、Update、Delete)操作,这是任何数据管理系统的基石。 首先,`CRUD`是数据库操作的基本动作。创建(Create)指的是向数据库添加...
`servlet-api.jar`是Java Servlet API的库文件,这表明这个项目可能是在服务器环境中运行,通过Servlet技术接收请求并返回Excel导出的结果。Servlet是Java Web开发中的基础组件,用于处理HTTP请求,并可以将处理结果...
Java中实现简单的Excel导出 在Java中实现Excel导出是许多开发者经常遇到的问题,今天我们将分享如何使用Apache POI库来实现简单的Excel导出。Apache POI是Apache软件基金会下的一个开源项目,提供了对Microsoft ...
在Java编程领域,导入和导出Excel表格是一项常见的任务,特别是在数据处理、报表生成和数据分析等场景中。本项目提供了一个整合了Spring、Hibernate和Struts2(简称SSH)三大框架的小型应用示例,利用Apache POI库来...
首先,要实现Excel导出,我们需要引入一个支持Java操作Excel的库,Apache POI是广泛使用的这样一个库。Apache POI提供了对Microsoft Office格式文档的读写支持,包括Excel(XLS和XLSX)文件。因此,在项目中,你需要...
在Web开发中,实现从网页上导出表格数据为Excel文件的需求较为常见。由于JavaScript自身不具备直接操作本地文件系统的权限,常规的操作文件方法受到限制。为了在不使用ActiveX控件的情况下实现这一功能,我们需要...
利用开源组件POI3.0.2,用java语言实现了动态导出Excel文档,并且也实现了Excel文档的导入。有完整的例子,可直接使用。ExportExcel类为导出Excel报表通用类。 1.将源代码导入eclipse中 2.部署项目,启动tomcat...
在Excel导出场景下,Action类将执行导出逻辑,并通过结果配置将生成的Excel文件返回给浏览器。 2. **Spring**:Spring可以作为依赖管理容器,将Struts2的Action与服务层(Service)组件进行依赖注入。同时,Spring...
在这个主题中,我们将深入探讨如何使用Java技术栈,特别是基于IDEA开发环境,来实现在JSP和Servlet中进行Excel与数据库之间的数据导入和导出。 首先,我们需要了解Java中用于处理Excel文件的库,如Apache POI。...
在J2EE项目开发中,Excel导出是一项常见的需求,特别是在数据管理和报告生成场景中,如资产管理、财务报表等。这个描述提及的示例提供了一个完整的解决方案,包括所需的Java类和依赖库(Jar包),帮助开发者实现从...
总结来说,这个学生管理系统是一个综合运用了Java Web技术,包括jsp、servlet和MySQL数据库的项目,具备数据挖掘、文件上传下载、数据库及Excel数据的导入导出等功能。对于学习Java Web开发或进行毕业设计的学生而言...