`
任群群
  • 浏览: 2780 次
社区版块
存档分类
最新评论

java导出csv文件=js+controller

阅读更多

/**

*js层

*/

downLoad = function(){

var params = {

"value" : $("#id").val()

};

window.open("/down/downLoad?value="+$("#id").val());//不可以使用ajax请求,因为流无法传输到前端,需要另打开界面。路径+传输到controller的值

};

/**

*controller层

*/

@RequestMapping(value = "/downLoad", method=RequestMethod.POST,produces="text/html;charset=UTF-8" )

public ModelAndView downLoad(int value) throws Exception {

List<String> downList = new ArrayList<String>();

List<String> headList = new ArrayList<String>();

HttpServletResponse response = getResponse();

response.reset();  

response.setCharacterEncoding("UTF-8");

response.setContentType("application/octet-stream");

//String downloadFileName =new String("下载".getBytes("utf-8"),"iso-8859-1");//一般是utf-8但是ie下载时,文件名会乱码

String downloadFileName =new String("下载".getBytes("gb2312"),"iso-8859-1");//IE11下文件名不会乱码

// downloadFileName += new String(bi.getBatchName().getBytes("utf-8"),"iso-8859-1")+"-";

downloadFileName += new String(bi.getBatchName().getBytes("gb2312"),"iso-8859-1")+"-";

downloadFileName += new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());//在文件名中加入下载的年月日时分秒

response.setHeader("Content-Disposition", "attachment; filename=\""+ downloadFileName + ".csv\"");

ServletOutputStream sos = response.getOutputStream();

boolean isSuccess=CsvUtils.exportCsv(sos ,headList,downList);

return null;//不需要返回前端任何内容

}

/**

*exportCsv方法

*/

   public static boolean exportCsv(ServletOutputStream outputStream,List<String> headList, List<String> dataList){

       boolean isSucess=false;

       try {

           StringBuilder sb = new StringBuilder();

           if(headList!=null && !headList.isEmpty()){

               for(String data : headList){

                sb.append(data);

                sb.append("\r");//在这里需要将数据一行一行展示

               }

           }

           if(dataList!=null && !dataList.isEmpty()){

               for(String data : dataList){

                sb.append(data);

                sb.append("\r");

               }

           }

           outputStream.write(sb.toString().getBytes("GBK"));//写入输出流

           outputStream.flush();//缓存流

           isSucess=true;

       } catch (Exception e) {

        e.printStackTrace();

           isSucess=false;

       }finally{

        if(outputStream!=null){

        try {

        outputStream.close();//一定要将流关闭,否则日志中会出错

                outputStream=null;

            } catch (IOException e) {

            e.printStackTrace();

            } 

        }

       }

       return isSucess;

 

   }

0
2
分享到:
评论

相关推荐

    javaweb异步导出

    这部分包括解析请求参数、查询数据库、构建导出文件(如CSV、Excel或PDF)等步骤。由于这些操作可能会花费较长时间,所以这里需要实现异步处理。 4. **多线程与异步处理**:为避免阻塞主线程,可以使用Java的...

    excel导出的js

    本篇将详细探讨如何使用JavaScript(js)来实现Excel文件的导出,以及与Java的交互。 标题中的"excel导出的js"指的就是使用JavaScript库或方法来生成Excel文件。JavaScript是一种运行在客户端和服务器端的脚本语言...

    easyui+ssh(增删改模糊查询,导出数据)

    - **导出数据**:EasyUI可以结合后台服务,将表格数据导出为Excel或CSV格式,方便用户保存和分析。 2. **SSH框架**: - **Struts2**:是MVC框架的一部分,主要负责接收HTTP请求,调用业务逻辑,然后将结果返回给...

    基于ssm的导入导出的项目

    - 使用Spring MVC的Controller接收导入导出请求,处理文件上传和下载。 - 数据的导入通常会用到文件流操作,如BufferedReader读取CSV或Excel文件,然后解析数据,通过Service层调用DAO进行数据存入数据库。 - 导出则...

    Java家庭理财系统

    4. 文件处理:系统可能需要读写CSV或Excel文件,Java的Apache POI库可以方便地处理这类任务。 5. 安全性:为了保护用户数据,系统应采用HTTPS协议,以及Spring Security等工具进行身份验证和授权。 三、主要功能 ...

    PDF表格数据的提取合并CSV, PDF文件从服务器上传下载,

    本文将详细探讨如何在基于MVC(Model-View-Controller)架构的系统中处理PDF表格,包括数据的提取、合并以及与CSV(Comma-Separated Values)文件的交互,同时关注PDF文件的上传下载功能。 首先,PDF表格的填写和...

    struts+ireport报表在页面显示,导出,打印功能

    Struts是一种基于MVC(Model-View-Controller)设计模式的框架,它简化了构建企业级Java应用的过程,提供了请求处理、视图展示以及业务逻辑控制的功能。而iReport是一款开源的报表设计工具,它是JasperReports库的一...

    学生成绩管理系统 java+sql

    - **数据导出**:支持将成绩数据导出为Excel或CSV格式,方便线下查看和分析。 4. **前端开发**: - **HTML/CSS/JavaScript**:前端界面通常由HTML结构、CSS样式和JavaScript交互组成,创建友好的用户界面。 - **...

    Java药店管理系统源码,包含数据库文件.zip

    8. **文件操作**:可能涉及读写CSV或XML文件,用于导入导出数据。 9. **日志记录**:如使用Log4j或Java内置的日志框架,记录系统运行时的信息,便于调试和问题定位。 10. **版本控制**:通过Git,开发者可以协同...

    Ext 导出Excel

    4. **客户端处理**:当用户点击导出按钮,前端JavaScript(可能是grid2excel函数)会触发这个请求,接收到响应后,浏览器会自动下载文件。 这个项目的实际实现可能还会涉及到错误处理、权限验证、数据筛选等额外...

    使用Ajax生成的Excel文件并下载的实例

    在本文中,我们将探讨如何使用Ajax技术在ASP.NET MVC环境中生成并下载Excel文件。这个方法对于需要在不刷新页面...这种方法可以应用于其他需要动态生成和下载文件的场景,不仅仅是Excel,还可以扩展到PDF、CSV等格式。

    jsf +jdbc+spring实现的增设改查,分页,导入数据。导出数据、日志

    1. **JSF(JavaScript Server Faces)**:JSF是一种MVC(Model-View-Controller)架构的Java Web组件模型。它提供了丰富的UI组件库,如输入字段、按钮、表格等,使得开发者可以更方便地创建用户界面。JSF通过处理...

    jquery.fileDownload-1.4.5.zip

    在SpringBoot项目中,你可以创建一个Controller处理文件下载请求。例如: ```java @GetMapping("/download") public ResponseEntity&lt;InputStreamResource&gt; downloadFile() { // 获取文件输入流 ...

    Java学生管理系统完整代码

    7. **文件管理**:虽然文件名只给出了"manage",但通常在学生管理系统中,可能会有CSV或Excel文件用于导入导出学生数据,或者配置文件存储数据库连接信息等。 8. **测试**:为了保证系统的稳定性和准确性,开发者...

    java学生管理系统

    7. **文件导入导出**:可能涉及到CSV或Excel格式的数据导入导出,这需要用到如Apache POI这样的库来处理文件内容,将数据读入内存或写入文件。 8. **异常处理**:良好的异常处理能提高系统的健壮性。在处理用户输入...

    java通讯录系统

    在实际应用中,开发者可能需要处理文件的读写操作,如导出通讯录数据到CSV或XML文件,或者导入外部数据源。 8. **安全考虑**:任何Web应用程序都需要考虑安全性,包括输入验证以防止SQL注入,使用HTTPS协议保护数据...

    Neo4j-KGBuilder-master.rar

    2. **上传下载CSV文件**:此功能允许用户导入或导出数据到CSV格式,这是数据交换的标准格式之一。CSV文件的导入可以快速将结构化数据转化为图谱中的节点和关系,方便进行分析和处理。 3. **节点的CRUD**:CRUD代表...

    java毕业设计&课设-个人理财系统(视频+源码+资料).doc

    - 数据导出:支持将财务数据导出为Excel或CSV格式文件。 #### 四、开发流程 1. **需求分析**:明确系统的目标用户、主要功能及非功能性需求。 2. **设计阶段**: - 架构设计:确定整体架构和技术选型。 - UI/UX...

    ExtJs java实例 (个人/家庭收支管理系统)第2版加强版

    最后,"indeEXT.jsp"是系统的入口点,这表明系统基于经典的MVC(Model-View-Controller)架构,JSP(JavaServer Pages)在这里作为视图层,用于呈现数据和交互逻辑。用户通过浏览器访问这个页面,系统会根据用户操作...

    ssm+easyui小案例

    6. **数据导入导出**:在业务场景中,用户可能需要导入或导出数据,例如CSV或Excel文件。在SSM+EasyUI案例中,可以通过文件上传功能接收用户上传的文件,然后利用Java处理这些文件并将其导入到数据库。反之,导出...

Global site tag (gtag.js) - Google Analytics