jsp:
<a id="excelExport"></a>
js:
var excel=function(){ var node = $('#groupConfig').tree('getSelected'); if(node!=null) var groupConfigSearch =node.id; else node=null; var data = { orgCode:groupConfigSearch, helpType:$("#searchType").combobox('getValue'), name:$("#searchName").val(), youthTel:$("#searchTel").val() }; $.ajax({ url:basepath+'/hk/importExcel.do', type:'POST', dataType:'json', data:data, success:function(data) { console.log(data); console.log(data.data); console.log(data.success); $("#excelExport").attr("href",data.data); document.getElementById("excelExport").click(); $('#searchDiv').form('clear'); } }); }
sql:
<select id="getExcel" parameterClass="hk" resultClass="com.fjxhx.business.people.model.HkModel" > select id,bankId,youthName,youthTel, projectName,appropriationDate,appropriationMoney,subsidizeMonth,firstDate,everyMoney,isCountryOrg, monthlyMoney,sumTheoryMoney,sumRealMoney,sumBalance,notOntime,youthId, (select b.value from b_status b where b.content=a.helpType and b.code='helpType') as helpType, (select b.value from b_status b where b.content=a.projectPlace and b.code='projectPlace') as projectPlace, (select c.orgName from ybc_org c where c.orgCode=a.orgCode) as orgCode from ybc_hk a where 1=1 <dynamic> <isNotEmpty prepend="and" property="orgCode"> orgCode like '%$orgCode$%' </isNotEmpty> <isNotEmpty prepend="and" property="helpType"> helpType = #helpType# </isNotEmpty> <isNotEmpty prepend="and " property="youthName"> youthName like concat('%', #youthName#, '%') </isNotEmpty> <isNotEmpty prepend="and" property="youthTel"> youthTel like concat('%', #youthTel#, '%') </isNotEmpty> </dynamic> ORDER BY id DESC </select>
action:
public void importExcel(){ try { BaseDao dao = getDao(); List<Object> list = dao.selectForList("hk.getExcel", model); String basepath=ServletActionContext.getServletContext().getRealPath("templateFile"); String s1=basepath+"/hk.xls";//模板 String s2=basepath+"/hkTemp.xls"; ExcelUtil.exportToExcel(list, "第一页",s1,s2); this.setData("servlet/downloadServlet?path="+s2); this.setSuccess(true); this.send(); } catch (Exception e) { e.printStackTrace(); this.setData("操作失败"); this.setSuccess(false); this.send(); } }
servelt:
package com.fjxhx.business.system.servlet; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class downloadServlet extends HttpServlet { /** * Constructor of the object. */ public downloadServlet() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This method is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path=request.getParameter("path"); /** * 如果下载成功删除模版文件 */ System.out.println(path); if(download(path, response)) deleteFile(path); } public static boolean deleteFile(String fileName) { File file = new File(fileName); // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除 if (file.exists() && file.isFile()) { if (file.delete()) { System.out.println("删除单个文件" + fileName + "成功!"); return true; } else { System.out.println("删除单个文件" + fileName + "失败!"); return false; } } else { System.out.println("删除单个文件失败:" + fileName + "不存在!"); return false; } } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } private boolean download(String path, HttpServletResponse response) { boolean flag=false; try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 String filename = file.getName(); // 以流的形式下载文件。 InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); // 清空response response.reset(); // 设置response的Header response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes())); response.addHeader("Content-Length", "" + file.length()); OutputStream toClient = new BufferedOutputStream( response.getOutputStream()); response.setContentType("application/vnd.ms-excel;charset=utf-8"); toClient.write(buffer); toClient.flush(); toClient.close(); flag=true; } catch (IOException ex) { ex.printStackTrace(); } return flag; } }
web.xml
<servlet-mapping> <servlet-name>downloadServlet</servlet-name> <url-pattern>/servlet/downloadServlet</url-pattern> </servlet-mapping> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>downloadServlet</servlet-name> <servlet-class>com.fjxhx.business.system.servlet.downloadServlet</servlet-class> </servlet>
模板:
中文
model里的属性
jar:
相关推荐
1. **SQL*Plus导出数据为CSV格式** - 创建SQL查询:首先,你需要编写一个SQL查询来选择你想导出的数据。例如,如果你想从名为"employees"的表中导出所有员工信息,查询可能如下: ``` SELECT * FROM employees; ...
在Java编程中,导出数据到Excel文件是一项常见的任务,特别是在数据分析、报表生成或数据交换等场景下。这里我们将深入探讨如何使用Java实现从数据库中查询数据并将其以多级表头的形式导入到Excel文件中。 首先,...
在生成Excel文件时,工具需要考虑到列宽、行高、样式设置以及数据类型映射,比如将日期和时间数据转换为Excel可以识别的格式。 至于EEUtil,这可能是工具的名字或者是导出过程中的一个实用程序。如果是工具的名字,...
在本场景中,我们讨论的是如何利用Kettle来实现一个特定的需求:循环导出数据到Excel并生成多个sheet页。 首先,我们需要理解这个需求的背景。在数据分析或报告生成中,有时需要根据不同的分类将数据分隔开,以便于...
标题"PHP导出数据到excel文件"和描述中提到的"PHP导出MySQL数据到excel文件"正是关于这个主题的,它涉及到了PHP编程语言与MySQL数据库的结合,以及如何利用PHP生成Excel文件供用户下载。 PHP是一种广泛使用的服务器...
在Java开发中,处理大数据量的Excel导出是一项常见的任务,尤其当数据量达到数十万条时,单个Excel文件可能会遇到性能瓶颈或格式限制。本项目针对这一问题提出了一种解决方案,即分块生成多个Excel文件,然后将它们...
Java导出数据到Excel文件中,支持多页签形式,如通过Java导出一个名为“各部门人员列表”,然后在文件中有三个页签,分别为“研发部”、“综合部”、“财务部”。其中这三个页签里面的数据就是通过Java导出到Excel...
它提供了灵活且高效的方式来操作Excel,允许开发者轻松地生成Excel文件以及将数据从Excel导入到VC++的ListCtrl控件中。 1. Excelvc库介绍: Excelvc库是专门为VC++设计的,它通过封装Microsoft Office的COM接口,...
每次循环会生成一个新的Excel文件,或者在同一个文件的不同工作表中写入数据。可以设置行限制,确保Excel文件不会过大。 5. **合并结果**: 如果需要将所有循环产生的Excel文件合并成一个,可以使用"文件合并"步骤,...
QT导出EXCEL,从tableWidget列表获取数据导出到excel文件。导出过程使用了excel模板文件,可以从tableWidget读取固定的几列数据导出到excel文件中。其中excel事先设置好文件格式,后续直接读数写数即可。开发过程...
1、Java导出动态数据为Excel文件,具体示例可以参考:https://img-blog.csdnimg.cn/1cc86ee5dffa48669e2b97283585fad2.png 2、项目使用SpringBoot,Ali3.0.5版本的easyexcel框架。 3、资源内有具体的使用说明和易...
生成Excel文件与导出类似,但通常会根据用户输入或数据库数据动态生成。可以创建一个模板,然后根据需要填充数据,最后将工作簿写入到响应流中供用户下载。 以上就是Spring Boot中处理Excel文件的基本操作,包括...
# 导出数据到多个Excel文件 data = ... # 数据 for i, chunk in enumerate(pd.groupby(data, group_keys=False, chunksize=10000)): chunk.to_excel(f'chunk_{i}.xlsx', index=False) # 压缩文件 with ...
在本项目中,主要使用POI来处理Excel文件,读取数据并将其导入到数据库,或者从数据库中导出数据到Excel文件。 4. **Thymeleaf**: Thymeleaf是一个现代的服务器端Java模板引擎,可以处理HTML、XML、JavaScript、CSS...
本主题将详细探讨如何使用C#实现从Excel文件导入数据到ListView控件,以及如何将ListView中的数据导出回Excel文件。这两个操作在数据分析、报表生成和数据管理等场景中非常常见。 首先,要导入Excel文件到ListView...
5. **生成Excel文件**:最后,使用SheetJS的`writeFile`或`createWriteStream`方法将工作簿写入到一个二进制文件,通常以`.xlsx`为扩展名。在浏览器环境中,我们可能还需要借助`Blob`和`URL.createObjectURL`来创建...
在链接的博客文章中,作者可能详细讲解了如何使用C#和NPOI库创建Excel文件并导出数据的步骤,包括创建工作簿、工作表,插入数据,设置样式等,并给出了具体代码示例。通过阅读这个博客,你可以获取到更具体的操作...