精华内容
下载资源
问答
  • java生成excel并输出到浏览器下载

    千次阅读 2019-12-04 15:01:46
    项目中用到了导出数据excel的功能,特此记录一下 Controller层 @RequestMapping(value = "/Export", method = RequestMethod.GET) public void Export(QueryCondition queryCondition, HttpServletResponse ...

    项目中用到了导出数据到excel的功能,特此记录一下

    Pom

            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.15</version>
            </dependency>
    

    Controller层

      @RequestMapping(value = "/Export", method = RequestMethod.GET)
        public void Export(QueryCondition queryCondition, HttpServletResponse response) throws IOException {
            String fileName = "my.xls";
            response.setHeader("content-type", "application/octet-stream");
            response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
            HSSFWorkbook workbook = myService.export(queryCondition);
            workbook.write(response.getOutputStream());
        }
    

    Service层

        /**
         * 导出数据
         *
         * @param queryCondition 查询条件
         * @return HSSFWorkbook工作表
         */
        HSSFWorkbook export(QueryCondition queryCondition);
    

    ServiceImpl层

     @Override
        public HSSFWorkbook export(QueryCondition queryCondition) {
            List<MyValue> myValues = this.queryMyValue(queryCondition);
    
            //创建一个excel
            HSSFWorkbook workbook = new HSSFWorkbook();
            //创建sheet
            //新建一个sheet页
            HSSFSheet sheet = workbook.createSheet("sheet1");
    
            //合并第一行的十个单元格
    		CellRangeAddress cra1 = new CellRangeAddress(0, 0, 0, 10);
            sheet.addMergedRegion(cra1);
            HSSFCell titleCell = sheet.createRow(0).createCell(0);
            String title = "占了第一行十个单元格的值";
            titleCell.setCellValue(title);
    
    		/**列表数据的标头*/
            HSSFRow titleRow = sheet.createRow(1);
            titleRow.createCell(0).setCellValue("序号");
            titleRow.createCell(1).setCellValue("角色");
            titleRow.createCell(2).setCellValue("姓名");
            titleRow.createCell(3).setCellValue("时间");
            titleRow.createCell(4).setCellValue("平均值");
    
            int i = 2;
            for (MyValue item : myValues) {
                HSSFRow row = sheet.createRow(i);
                row.createCell(0).setCellValue(item.getID());
                row.createCell(1).setCellValue(item.getUserType());
                row.createCell(2).setCellValue(item.getName());
                row.createCell(3).setCellValue(DateUtils.toString(item.getCreateTime()));
                row.createCell(4).setCellValue(DoubleUtils.toString(item.getAvgValue()));
    
                i++;
            }
            return workbook;
        }
    
    展开全文
  • 主要为大家详细介绍了Java后台实现浏览器一键导出下载zip压缩包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • java导出word,输出到浏览器下载

    千次阅读 2018-12-27 15:59:01
    还可以直接输出到浏览器。 只需要添加   response.setContentType("application/x-msdownload;"); response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode("文件名", ...

    网上介绍的方法都挺好,网上一搜也一大把,我用的是制作模板的那个方法,还挺好用的,现在分享一下。

    先找一个教程,制作一个模板,然后就是测试:

    代码它来了,

    public class WordTest {  
          
        private Configuration configuration = null;  
          
        public WordTest(){  
            configuration = new Configuration();  
            configuration.setDefaultEncoding("UTF-8");  
        }  
          
        public static void main(String[] args) {  
            WordTest test = new WordTest();  
            test.createWord();  
        }  
          
        public void createWord(){  
            Map<String,Object> dataMap=new HashMap<String,Object>();  
            getData(dataMap);  
            configuration.setClassForTemplateLoading(this.getClass(), "");//模板文件所在路径
            Template t=null;  
            try {  
                t = configuration.getTemplate("测试.ftl"); //获取模板文件
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
            File outFile = new File("D:/outFile"+Math.random()*10000+".doc"); //导出文件
            Writer out = null;  
            try {  
                out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));  
            } catch (FileNotFoundException e1) {  
                e1.printStackTrace();  
            }  
               
            try {  
                t.process(dataMap, out); //将填充数据填入模板文件并输出到目标文件 
            } catch (TemplateException e) {  
                e.printStackTrace();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
      
        private void getData(Map<String, Object> dataMap) {  
            dataMap.put("title", "标题");  
            dataMap.put("nian", "2016");  
            dataMap.put("yue", "3");  
            dataMap.put("ri", "6");   
            dataMap.put("shenheren", "lc");  
              
            List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();  
            for (int i = 0; i < 10; i++) {  
                Map<String,Object> map = new HashMap<String,Object>();  
                map.put("xuehao", i);  
                map.put("neirong", "内容"+i);  
                list.add(map);  
            }  
              
              
            dataMap.put("list", list);  
        }  
    }

     

    成了。

    还可以直接输出到浏览器。

    只需要添加

     

    response.setContentType("application/x-msdownload;");
    response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode("文件名", "UTF-8") + ".doc");

    然后其中的createWord()方法就成了下面这个代码:

     public void createWord(HttpServletResponse resp){  
            Map<String,Object> dataMap=new HashMap<String,Object>();  
            getData(dataMap);  
            configuration.setClassForTemplateLoading(this.getClass(), "");//模板文件所在路径
            Template t=null;  
            try {  
                t = configuration.getTemplate("测试.ftl"); //获取模板文件
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
            //File outFile = new File("D:/outFile"+Math.random()*10000+".doc"); //导出文件
            Writer out = null; 
            response.setContentType("application/vnd.ms-excel");  
            response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode("文件名", "UTF-8") + ".doc"); 
            try {  
                //out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile)));  
                  out = new BufferedWriter(new OutputStreamWriter(response.getOutputStream()));  
            } catch (FileNotFoundException e1) {  
                e1.printStackTrace();  
            }  
               
            try {  
                t.process(dataMap, out); //将填充数据填入模板文件并输出到目标文件 
            } catch (TemplateException e) {  
                e.printStackTrace();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
        }  
      
    展开全文
  • 正常 从ftp 拿文件 有可能根据 不同的浏览器 导致 直接预览文件 那么怎么避免呢,走后台 走输出流 response.reset(); response.setHeader("Pragma", "public"); response.setHeader("Cache-Control", "public...

    正常 从ftp 拿文件 有可能根据 不同的浏览器 导致 直接预览文件 那么怎么避免呢,走后台 走输出流

     

                response.reset();
                response.setHeader("Pragma", "public");
                response.setHeader("Cache-Control", "public");
                response.setContentType("application/octet-stream");
                response.setHeader("Content-Disposition", "attachment;filename = " + pdfFileName);

    这样就可以生成一个文件 给浏览器

    展开全文
  • 第一种方式 //设置response的使用utf-8 ...//通知浏览器使用utf-8解码 response.setHeader("Content-Type", "text/html;charset=utf-8"); 第二种方式(通常使用第二种) response.setContentType("text/ht...

    第一种方式

    //设置response的使用utf-8
    response.setCharacterEncoding("utf-8");
    //通知浏览器使用utf-8解码
    response.setHeader("Content-Type", "text/html;charset=utf-8");
    

    第二种方式(通常使用第二种)

    response.setContentType("text/html;charset=utf-8");

     

     

    展开全文
  • java文件打包压缩输出到浏览器下载

    千次阅读 2020-06-24 09:46:52
    java批量下载文件打包压缩工具类,输出到浏览器下载,可以自己改名。 工具类: 入参 :文件LIst ;打包后的名字 ;响应到浏览器 /** * 功能:压缩多个文件,输出压缩后的zip文件流 * * @param srcfile:源文件...
  • 方法一:通过PriteWrite的write方法 代码如下: 1 PrintWriter pw = response.getWriter();...//content为输出到浏览器的内容 转载于:https://www.cnblogs.com/justn0w/p/11179583.html...
  • Java 输出 Base64 图片数据到浏览器 @GetMapping("/thumbnail") public void getThumbnail(HttpServletResponse response) { String thumbnail = "Base64数据"; if (StringUtils.isNotBlank(thumbnail)) { ...
  • JAVA浏览器输出文件

    千次阅读 2019-01-23 13:00:36
    // 定义输出缓冲 10k byte[] buffer = new byte[10240]; String userAgent = request.getHeader("user-agent").toLowerCase(); if (userAgent.contains("msie") || userAgent.contains("like gecko")) { ...
  • Java项目生成Excel并通过浏览器下载

    千次阅读 2018-04-28 14:23:23
    背景:之前版本的下载是在代码里生成Workbook文件,然后将该workbook对象写入浏览器输出流,以此完成下载。 问题:小的文本文件无所谓,但是如果是包含了大量图片的大文件,这种操作会在workbook下入浏览器输出流...
  • 解决chrome浏览器中点击链接,如果是浏览器可识别的文件类型,浏览器会自动打开而不是弹出下载框的方案
  • Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写文件的信息、定义文件,输出到c:/hello.txt、写信息文件、关闭输出流...
  • 所以在网上找了一些资料,实现了excel文件流输出到浏览器。不说了,代码附上。   public void dowland (HttpServletRequest request, HttpServletResponse response)throws Exception { //模板导出 Workbook ...
  • 通过response把本地图片输出到浏览器

    千次阅读 2019-07-09 09:30:06
    // 获取本地字节输出流 ServletOutputStream out = response.getOutputStream(); int len=0; // 建立一个数组 一次读1024个字节 byte[] bytes = new byte[1024]; while ((len=fis.read(bytes))!=-1){ out.write...
  • Java实现文件浏览器下载

    千次阅读 2020-07-01 18:15:51
    因为就1个文件,使用文件管理系统像fastDSF,阿里云的OSS这种没必要,直接放在nginx服务器上的怕不好管理,于是给我限定了把文件打包部署时候的jar包中并实现浏览器下载. 废话不多说,直接上代码! 1.首先是建立一个...
  • 前端传来url地址与文件名,下载文件到浏览器 代码 (这里模拟,直接在代码里写了url,可以拼接在url后进行截取) 请求接口 @GetMapping("/findOperatorBarVO2") @ApiOperation(value = "下载") public void ...
  • // 设置输出流是pdf文件流 httpServletResponse.addHeader("Content-Disposition", "attachment; filename="+request.getParameter("ReportId")+".pdf"); // 获取缓冲区大小 int bufferSize = httpServletResponse....
  • ByteArrayInputStream和ByteArrayOutputStream分别集成自InputStream和OutputStream这两个输入和输出流,这里我们就来详解Java中ByteArray字节数组的输入输出流的用法,需要的朋友可以参考下
  • Java web的方式显示图片到浏览器

    千次阅读 2021-01-12 12:03:06
    Java web的方式显示图片到浏览器 请求例子:http://localhost:8080/image?image=图片名称.jpeg 示例代码: 一:允许Spring Boot使用Java web 在spring boot启动器中添加@ServletComponentScan注解 import org....
  • java下载文件默认浏览器路径

    千次阅读 2020-11-11 17:20:38
    //文件输出格式 response.setContentType(contentType); byte[] car = new byte[1024]; int len; while ((len = inputStream.read(car)) != -1) { out.write(car, 0, len); } } catch (IOException e) { log.error...
  • 将要下载的文件内容通过输出流写到浏览器 out = response.getOutputStream(); int len = 0 ; byte [] buffer = new byte [1024 ]; while ((len = in.read(buffer)) > 0 ) { out.write(buffer, 0 , ...
  • Java web的方式下载服务器文件到浏览器 请求例子:localhost:8080/downExcel?excel=文件名.xls 示例代码: import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io....
  • java模拟浏览器访问网站

    热门讨论 2010-11-30 14:05:35
    java模拟访问浏览网站的代码,可以输出各种网页属性,以及html源代码
  • Java:导出word,浏览器下载

    千次阅读 2018-10-22 15:48:39
    使用iText与PDF能够使你正确的控制Servlet的输出。"; Paragraph context = new Paragraph(contextString); // 正文格式左对齐 context.setAlignment(Element.ALIGN_LEFT); context.setFont(contextFont); // 离...
  • java】servlet输出pdf文件到浏览器 教程-附件资源
  • 总结一下,关于Java下载zip文件并导出的方法,浏览器导出。  String downloadName = "下载文件名称.zip"; downloadName = BrowserCharCodeUtils.browserCharCodeFun(request, downloadName);//下载文件名...
  • java word转pdf,pdf显示到浏览器

    千次阅读 2017-08-09 16:47:15
    java word转pdf的项目,pdf浏览器输出
  • 一、声明 注意参数要有HttpServletResponse response并设置参数 response.setContentType("application/application/vnd.ms-excel"); response.setHeader("Content-disposition","attachment;...
  • jsp页面中的内容直接输出到浏览器

    千次阅读 2018-09-01 20:04:36
    jsp页面中的内容直接输出到浏览器 跟jdk,tomcat,编译器无关,故不介绍版本 导致这样的现象是因为在web.xml中配置了 “` python /index.jsp

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 234,311
精华内容 93,724
关键字:

java输出到浏览器

java 订阅