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();
            }
        }
    
    }
  • 相关阅读:
    Install Postgresql on Ubuntu
    Pytest
    Pytest
    wrk 压力测试
    Objective-C 格式化字符串Format
    安装BeyondCompare on Ubuntu
    eclipse + python + pydev (Pydev安装成功确看不到插件的解决办法)
    如何解决: Ubuntu 系统 adb devices出现no permissions
    oracle rac搭建
    CentOS6.8编译安装LAMP
  • 原文地址:https://www.cnblogs.com/wangdahui/p/12523397.html
Copyright © 2011-2022 走看看