核心代码如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
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 org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import cn.com.vo.UserVO;
public class DownloadServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("application/vnd.ms-excel"); //改成输出excel文件
resp.setHeader("Content-disposition","attachment; filename=file.xls" );
OutputStream out;
try {
String countFilePath = getServletContext()
.getRealPath("/count.xls");
FileInputStream in = new FileInputStream(new File(countFilePath));
List<UserVO> list =getUserList();
HSSFWorkbook workBook=new HSSFWorkbook(in);
HSSFSheet sheet = workBook.getSheetAt(0);
int k =1;
for (int i = 0; i < list.size(); i++) {
UserVO vo = list.get(i);
HSSFRow row= sheet.createRow(++k);
row.createCell(0).setCellValue(vo.getId());
row.createCell(1).setCellValue(vo.getName());
row.createCell(2).setCellValue(vo.getPassword());
row.createCell(3).setCellValue(vo.getSex());
}
out = new FileOutputStream(getServletContext()
.getRealPath("/temp/count.xls"));
out = resp.getOutputStream();
//finally
workBook.write(out);
in.close();
workBook.close();
out.flush();
out.close();
//record用户下载日志操作
} catch (Exception e) {
e.printStackTrace();
}finally{
}
}
private List<UserVO> getUserList() {
List<UserVO> users = new ArrayList<UserVO>();
users.add(new UserVO("1","张三","111","男"));
users.add(new UserVO("2","李四","111","女"));
return users;
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(req, resp);
}
}
结果如下:
相关推荐
总结来说,这个Java web项目通过Apache POI库实现了数据到Excel的动态导出,涉及到了文件操作、数据结构映射、模板应用和性能优化等多个方面,是Java Web开发中一个实用的功能实现。在实际开发中,可以参考这个案例...
2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection.json 2. 导入sql到数据库:other/excel.sql 3. idea导入...
总的来说,"JAVA Excel模板POI导出并下载"是一项常见的Java Web开发任务,通过Apache POI库可以方便地实现。掌握这一技术有助于提升后台服务的交互性和用户体验,使得用户能够直接下载由系统动态生成的Excel报告。在...
2. 加载Excel模板文件(如“SmartMarkerDesigner.xls”)到Aspose.Cells的`Workbook`对象。 3. 配置Smart Marker,指定数据源和占位符规则。 4. 使用Smart Marker解析数据并填充到模板中。 5. 保存或导出生成的新...
通过这种方式,你可以轻松地在Java Web项目中实现Excel导出功能,而无需直接操作Excel文件的复杂代码。Jxls库提供了灵活的模板机制,使得数据与格式分离,使得Excel模板的设计和维护变得更加简单。同时,由于Jxls是...
"WEB按模板导出到XLS报表"这一技术主题涉及了几个关键知识点,包括Web开发、数据处理、Excel模板设计以及文件导出。 1. **Web开发**:通常,这个过程会涉及到使用Web编程语言,如HTML、CSS、JavaScript,以及服务器...
总之,通过Apache POI库,Java非Web应用可以方便地实现Excel文件的导出。开发者可以根据实际需求定制模板,填充数据,生成符合业务场景的Excel报表。在实际项目中,还可以扩展功能,比如支持动态创建模板,读取Excel...
标题中的“jxls+springmvc实现excel模板导出”指的是使用jxls库和Spring MVC框架来实现在Web应用中导出Excel模板的功能。jxls是一个Java库,它扩展了Apache POI库,允许开发者通过使用简单的Excel公式和指令在模板上...
ExcelUtils工具类是一个在Java开发中广泛使用的库,它的主要功能是帮助开发者便捷地按照预设模板导出Excel文件。这种工具极大地简化了处理Excel数据的复杂性,使得程序员能够快速实现数据的导出功能,而无需深入了解...
【Aspose无需模板导出Excel带Chart】是一个高级的编程技术,主要应用于处理Microsoft Excel文档。Aspose.Cells是Aspose公司开发的一个强大的组件,它允许程序员在不依赖Microsoft Office的情况下,进行Excel文件的...
1. 创建Excel模板:使用FTL语法,创建一个`.ftl`文件,定义Excel表格的行和列结构。例如,你可以使用`<#list>`指令循环遍历数据列表,用`<#if>`判断条件,以及使用`<td>`和`<th>`标签表示单元格和表头。 四、数据...
本篇将深入探讨如何利用Apache POI来操作Excel模板,以及如何读取数据并将其填充到新生成的文件中,最终提供下载。 首先,你需要在项目中引入Apache POI的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下...
"使用模板导出Excel数据"这个主题聚焦于如何通过编程方式自动化这个过程,尤其是利用模板来确保数据的一致性和格式规范。这里我们将深入探讨相关的知识点: 1. **模板设计**:首先,模板是预先设定好格式、样式和...
Java导出Excel在Web项目中的应用是一个常见的需求,特别是在企业级开发中,为了方便数据的存储、分析和传输,往往需要将数据库中的数据导出为Excel格式。下面将详细介绍这个主题,包括相关技术和实现步骤。 1. **...
- **报表自动生成**:可以自动从数据库或其他数据源提取数据,填充到Excel模板中,生成报告。 - **数据分析**:对于需要大量数据处理和分析的应用,可以直接在Java程序中操作Excel文件进行数据处理。 - **数据导出**...
在Java世界里,它也被广泛用于生成静态文档或处理数据导出任务,比如Excel文件的生成。本篇文章将详细探讨如何使用Freemarker来实现Excel导出功能,并通过实际例子加深理解。 一、Freemarker基础 1. 模板语言:...
综上所述,Apache POI为Java开发者提供了强大的Excel操作能力,使得在Web项目中实现Excel的导入与导出变得简单易行。通过合理地运用这些API,你可以为用户提供便捷的数据交换服务。在实际开发中,结合具体的项目需求...
在这个场景中,"java excel导出 支持03 07导出 样式可配置"指的是使用Java来实现Excel文件的导出功能,同时兼容旧版的Excel 2003(.xls)和新版的Excel 2007及以后版本(.xlsx)。这个功能通常涉及到Apache POI库,...
在 Web 项目中,经常需要将数据导出为 Excel 文件,以便用户可以轻松地查看和编辑数据。然而,当需要导出多个 Excel 文件时,使用者将频繁操作,这样就严重降低了项目的友好交互性以及易用性。为了解决这个问题,...
1. **创建Excel模板**:首先,你可以创建一个Excel模板,定义好需要导出的数据结构,如单元格样式、合并单元格等。 2. **编写导出服务**:创建一个服务类,定义一个方法来生成Excel内容并将其写入响应流。使用POI库...