Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用jsp在浏览器中查看excel文件

如何使用jsp在浏览器中查看excel文件
EN

Stack Overflow用户
提问于 2016-08-03 07:52:54
回答 3查看 3.2K关注 0票数 0

我有一个excel文件,并希望在jsp页面中显示相同的内容。我使用下面的代码来显示相同的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  <% 
  response.setContentType("application/vnd.ms-excel");
  response.setHeader("Content-disposition","attachment;filename=Data.xlsx")%>

当我尝试单击jsp链接时,会自动下载excel工作表。但是我想让excel表格显示在浏览器的jsp页面中。

在上述方面的任何帮助都是非常感谢的。

EN

回答 3

Stack Overflow用户

发布于 2016-08-03 07:57:29

对于我来说,您应该将文件流式传输到来自servlet的响应中,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
transfert(yourFile.getInputStream(),response.getOutputStream(), true);

public static void transfert(InputStream in , OutputStream out, boolean closeOnExit ) throws Exception{
try{byte buf[] = new byte[1024];
    int n;
    while((n=in.read(buf))!=-1){
        out.write(buf,0,n);
        out.flush();}  
   }
    catch(Exception e){
        e.getMessage();
    }

}
票数 0
EN

Stack Overflow用户

发布于 2016-08-03 08:00:28

可以有两种方法。

如果您在使用第三方服务(如services.

  • Another docs或MS

  • )托管excel文件时没有任何问题,那么您可以将您的文件上传到那里,并使用由这些第三方服务生成的embedded html代码。另一种方法是使用某些库(如apache-poi )处理excel文件,并将其呈现在jsp页面上。
票数 0
EN

Stack Overflow用户

发布于 2017-06-01 04:16:37

我使用下面的代码在jsp页面中显示excel文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Excel Web View</title>

<%@ page import="java.io.FileInputStream" %>
<%@ page import="org.apache.poi.ss.usermodel.DataFormatter" %>
<%@ page import="org.apache.poi.xssf.usermodel.*" %>
<%@page import="org.apache.poi.hssf.usermodel.*"%>
</head>
<body>

<table border="1">

<%

 String filename="C:\\Users\\User01\\Desktop\\hello.xls"
 String extension = "";

 int i = filename.lastIndexOf('.');
 if (i >= 0) {
     extension = filename.substring(i+1);
 }

 if(extension !=null && extension.contains("xlsx"))
  {

    if(filename != null && !filename.equals("")){
        try{

            FileInputStream fs =new FileInputStream(filename);
            XSSFWorkbook  wb = new XSSFWorkbook (fs);
            for(int k = 0; k < wb.getNumberOfSheets(); k++){
            XSSFSheet sheet = wb.getSheetAt(k);
            int rows  = sheet.getPhysicalNumberOfRows();
            DataFormatter formatter = new DataFormatter();

            for(int r = 0; r < rows; r++){
            XSSFRow row   = sheet.getRow(r);

            int cells = row.getPhysicalNumberOfCells(); 
            %><tr><%
            for(int n=0;n<cells;n++)
            {
              %><td><%
           =formatter.formatCellValue(row.getCell(n))
             %></td><%
            }
           %></tr><%
            }
            }
            }
           catch(Exception e){
            System.out.println(e);
           }
           }
           }
         else {
           if(filename != null && !filename.equals("")){
           try{
                FileInputStream fs =new FileInputStream(filename);
                HSSFWorkbook  wb = new HSSFWorkbook (fs);
                for(int k = 0; k < wb.getNumberOfSheets(); k++){
                HSSFSheet sheet = wb.getSheetAt(k);
                int rows  = sheet.getPhysicalNumberOfRows();
                DataFormatter formatter = new DataFormatter();

                for(int r = 0; r < rows; r++){
                    HSSFRow row   = sheet.getRow(r);
                    int cells = row.getPhysicalNumberOfCells(); 
                %><tr><%
                    for(int n=0;n<cells;n++){
                %><td><%
                =formatter.formatCellValue(row.getCell(n))
                %></td><%
                }
                %></tr><%
                }
                }
                }
                 catch(Exception e){
                 System.out.println(e);
                 }
                 }
                 }
               %>
         </table>
         </body>
         </html>    

并在pom.xml文件中添加依赖项

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi-ooxml</artifactId>
   <version>3.16</version>
</dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38737581

复制
相关文章
python google app engine
云计算的三个层次:issa:paas:saas 云计算有三个层次。图12-1 显示了每个层次,以及对应层次的代表产品。最低层的是IaaS(Infrastructure-as-a-Service),即提供计算机本身基本的计算能力(物理形式或虚拟形式)、存储(通常是磁盘)、计算。亚马逊Web 服务(Amazon Web Services,AWS)提供了弹性计算云(Elastic Compute Cloud,EC2),以及简单存储系统(Simple Storage System,S3)服务,这两者就在IaaS 层面。Google 也提供了IaaS 存储服务,称为Google Cloud Storage。Google App Engine 作为云计算的中间一层,称为Paas(Platform-as-a-Service)。这一层为用户的应用提供执行平台。最高一层是Software-as-a-Service(SaaS)。在这一层,用户只须简单地访问应用,这些应用位于本地,但只能通过因特网访问。SaaS 的例子包括基于Web的电子邮件服务,如Gmail、Yahoo! Mail 和Hotmail。
用户5760343
2022/05/14
5320
python google app engine
折腾Google App Engine:上传应用
作者:matrix 被围观: 2,015 次 发布时间:2013-07-26 分类:兼容并蓄 零零星星 | 无评论 »
HHTjim 部落格
2022/09/26
9990
折腾Google App Engine:上传应用
为MyEclipse安装google app engine插件
我的淘宝客网站准备先放到google app engine上,所以需要为MyEclipse安装google app engine的插件。
明年我18
2019/09/18
7880
为MyEclipse安装google app engine插件
DevOps工具介绍连载(20)——Google App Engine
2008年4月7号,Google在Campfire One上介绍了一种简化创建、运行和构建伸缩性Web应用的工具——Google App Engine。简而言之,Google App Engine允许你本地使用Google基础设施构建Web应用,待其完工之后再将其部署到Google基础设施之上。
顾翔
2020/03/12
2.7K0
基于Google App Engine 的Adsense投放监控系统
         题外话,如果让我选择我最讨厌的一种计算机程序语言,排名第一的是Python。原因只有一个,这种靠缩进来区分块block的语法格式太折磨人了。所以2年前决定学动态语言的时候,我选择了Ruby,当然还有Rails。         但是Google App Engine选择了Python ,没办法,我只好将就这用用了。         言归正传。 google Adsense 是Google的聚宝盆,同时也是很多站长、博客的摇钱树。Google、广告商、广告发布商是一个链条上的利益共同体。在这个链条上Google是掌握 着所有的流量流向、资金流向,正是因为GOOGlE信奉不作恶的理念才让这个链条上的各方安分守己做好自己的事情。         然而追求利益最大化是每个人、每个公司的天性。广告商想用最低的价格发布广告,所以网络上有了Google Adsense 低价网站黑名单;广告发布商想提高自己的收入,所以Google要封杀欺诈点击。         那么,基于Google App Engine 的Adsense投放监控系统能做什么呢?         这个工具是我用一个周末的时间完成的,我也信奉不作恶的原则,因此这个工具只有2个功能:         1、作为广告发布商,告诉你发布了谁的广告。         2、作为广告商、告诉你谁发布了你的广告。      如果你是一位站长、如果你是一名博客写手并且你使用了Google Adsense广告。      那么我强烈推荐您使用:基于Google App Engine 的Adsense投放监控系统 http://20081949.appspot.com/      使用Google App Engine的服务,因此你需要一个Google帐号才能使用这项服务。
田春峰-JCJC错别字检测
2019/02/14
9630
Google 的 Serverless 产品对比:Cloud Run、Cloud Functions、App Engine
Serverless 平台的主要优点是,它们使您可以专注于编写代码,而不必关心管理基础结构,自动扩容或为所用资源支付更多费用。
donghui
2021/02/08
3.4K0
Google 的 Serverless 产品对比:Cloud Run、Cloud Functions、App Engine
Google Earth Engine使用
谷歌的地理引擎,通过一些简单的API我们就可以在几十PB大小的数据内进行弹性运算,以获得我们需要的结果。我们每个人都有权利平等的来享受这个美好的世界。
云深无际
2021/10/20
1.4K0
Google Earth Engine使用
Google Earth Engine(趋势分析)
之前有小伙伴想让做一期利用GEE做植被指数变化的文章,可惜一直没什么时间去做。今天小编终于把这个给做好了。
气象学家
2020/06/29
3.1K0
Google Earth Engine(趋势分析)
Google Earth Engine(区域统计)
在通过GEE计算遥感的地表参量以后,我们就需要对计算出来的数据进行统计。GEE上面画图的功能并不是很齐全,得到的效果也不尽如人意。因此我们就需要将GEE对区域的统计量进行导出,导入到本地以后,再进行绘图。
GIS与遥感开发平台
2022/04/29
1.4K0
Google Earth Engine(区域统计)
Google Earth Engine(监督分类)
本次我们讲一下如何利用GEE做监督分类。训练器我们选择随机森林,数据选择Landsat-8,我们只使用其中的2-7波段。
GIS与遥感开发平台
2022/04/29
1K0
Google Earth Engine(监督分类)
Google Earth Engine(趋势分析)
之前有小伙伴想让做一期利用GEE做植被指数变化的文章,可惜一直没什么时间去做。今天小编终于把这个给做好了。
GIS与遥感开发平台
2022/04/29
1.1K0
Google Earth Engine(趋势分析)
【Docker】:如何在 CentOS 8 中安装 Docker Engine?
The libseccomp library provides an easy to use, platform independent, interface to the Linux Kernel's syscall filtering mechanism. The libseccomp API is designed to abstract away the underlying BPF based syscall filter language and present a more conventional function-call based filtering interface that should be familiar to, and easily adopted by, application developers.
WEBJ2EE
2022/01/04
1.4K0
【Docker】:如何在 CentOS 8 中安装 Docker Engine?
Google Earth Engine(Tensorflow深度学习)
本次我们讲一下如何利用colab训练深度学习(Tensorflow)模型,并上传到Google云平台上面。然后我们再通过GEE进行调用,这样我们在GEE上面运行自己的深度学习模型了。
气象学家
2020/06/17
3.3K1
Google Earth Engine(地物分类统计)
本次我们还是采用MODIS官方的地物分类产品(MCD12Q1.006),空间分辨率为500m,时间分辨率为一年。这个MODIS产品中含有多个地物分类的产品。
GIS与遥感开发平台
2022/04/29
1K0
Google Earth Engine(地物分类统计)
Google Earth Engine(介绍与入门)
Google Earth Engine是Google提供的对大量全球尺度地球科学资料(尤其是卫星数据)进行在线可视化计算和分析处理的云平台。该平台能够存取卫星图像和其他地球观测数据数据库中的资料,并具有足够的运算能力对这些数据进行处理。
GIS与遥感开发平台
2022/04/29
2.2K0
Google Earth Engine(介绍与入门)
Google Earth Engine(Tensorflow深度学习)
本次我们讲一下如何利用colab训练深度学习(Tensorflow)模型,并上传到Google云平台上面。然后我们再通过GEE进行调用,这样我们在GEE上面运行自己的深度学习模型了。
GIS与遥感开发平台
2022/04/29
2.5K1
Google Earth Engine(Tensorflow深度学习)
Google Earth Engine的介绍与入门
Google Earth Engine是Google提供的对大量全球尺度地球科学资料(尤其是卫星数据)进行在线可视化计算和分析处理的云平台。该平台能够存取卫星图像和其他地球观测数据数据库中的资料,并具有足够的运算能力对这些数据进行处理。
郭好奇同学
2020/12/22
2.4K0
Google Earth Engine的介绍与入门
如何在Windows中运行bash
当微软宣布,将在Windows10上面支持bash时,所有的Unix命令行用户都为之雀跃了。上周三,微软发布了一个测试版本,开始支持了这项功能。 为了运行bash,首先要进行几步操作。首先,需要获得Windows10的build 14316。 安装内测版本之后,用户需要切换到开发者模式,从设置>更新(Settings > Updates),安全>开发者(Security > For Developers)打开新的设置页面,选择“Windows Subsystem for Linux (Beta)”,重启
CSDN技术头条
2018/02/11
3.9K0
如何在Windows中运行bash
Google Earth Engine(像元值提取)
本期我们讲一下如何利用GEE对某些点的像元值进行提取,我们在做定量遥感建模时有时候就需要提取一些某些地面点的像元值,然后通过像元值和对应的地面实测值建模。如果通过本地提取,就需要下载大量的遥感数据,同时也会花费大量的时间去编程,运行代码。
GIS与遥感开发平台
2022/04/29
1.9K0
Google Earth Engine(像元值提取)
点击加载更多

相似问题

如何在Google App Engine中运行CherryPy web服务器

10

Google App engine运行缓慢

20

如何在Google App Engine上运行ghost

26

如何在Google App Engine上运行FuelPHP

10

Google App Engine Analog不收取订阅费

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文