zoukankan      html  css  js  c++  java
  • Java根据模板下载TXT文件

    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.ss.usermodel.Sheet;
    import org.apache.poi.ss.usermodel.Workbook;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.http.HttpStatus;
    import org.springframework.http.ResponseEntity;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.annotation.Resource;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    import java.net.URLEncoder;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * @author 王慧
     * @description poi导出excel
     * @date 2020/1/8
     */
    @RestController
    public class DownloadText {
    
        /**
         * Text模板下载
         *
         * @param response
         * @param request
         * @return
         */
        @RequestMapping(value = "/textExport")
        public ResponseEntity<Resource> excel2007Export(HttpServletResponse response, HttpServletRequest request) {
            try {
                ClassPathResource cpr = new ClassPathResource("/templates/test.txt");
                downLoadExcel("test.txt", response, cpr);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return new ResponseEntity<Resource>(HttpStatus.OK);
        }
    
        public static void downLoadExcel(String fileName, HttpServletResponse response, ClassPathResource cpr) throws IOException {
            InputStream input = null;
            BufferedOutputStream output = null;
            try {
                response.setCharacterEncoding("UTF-8");
                response.setHeader("content-Type", "application/vnd.ms-excel");
                response.setHeader("Content-Disposition",
                        "attachment;filename="" + URLEncoder.encode(fileName, "UTF-8") + """);
                input = cpr.getInputStream();
                output = new BufferedOutputStream(response.getOutputStream());;
                byte[] buffer = new byte[4096]; //  缓冲区
                int n = (-1);
                while ((n = input.read(buffer, 0, 4096)) > -1) {
                    output.write(buffer, 0, n);
                }
                response.flushBuffer();
                
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                if (input != null)
                    input.close();
                if (output != null)
                    output.close();
            }
        }
    
    }
  • 相关阅读:
    星浩资本-以流程为中心
    BPM配置故事之案例13-触发消息通知
    BPM配置故事之案例12-触发另外流程
    【从零开始学BPM,Day5】报表配置及自定义功能页面开发
    BPM配置故事之案例11-操作外部数据源
    BPM配置故事之案例10-获取外部数据
    [转]页游开发中的 Python 组件与模式Presentation Transcript
    Creating a Game with CocosBuilder
    As3 Practises : use TheMiner do as3 project swf performance profile , find memory leak!
    Manual Install Cocos2d-x vc template on Windows 7
  • 原文地址:https://www.cnblogs.com/wangdahui/p/12523397.html
Copyright © 2011-2022 走看看