Html 如何将JSP表导出到EXCEL(XLSX格式) 2. 3. 5.

Html 如何将JSP表导出到EXCEL(XLSX格式) 2. 3. 5.,html,jsp,format,export-to-excel,suppress-warnings,Html,Jsp,Format,Export To Excel,Suppress Warnings,如何以XLSX格式导出JSP表以及如何抑制以下异常 您试图打开的文件,name.ext,其格式与文件扩展名指定的格式不同。打开文件之前,请确认文件未损坏且来源可靠。是否立即打开该文件?使用此选项 html代码 <%@ page language="java" contentType="application/vnd.ms-excel"%> <% response.setHeader("Content-Disposition:","attachment;filename=

如何以XLSX格式导出JSP表以及如何抑制以下异常
您试图打开的文件,
name.ext
,其格式与文件扩展名指定的格式不同。打开文件之前,请确认文件未损坏且来源可靠。是否立即打开该文件?

使用此选项

html代码

 <%@ page language="java" contentType="application/vnd.ms-excel"%>
   <% response.setHeader("Content-Disposition:","attachment;filename=Sample.xls"); %> 
 <TABLE>
  <TR><TD>2</TD></TR>
    <TR><TD>3</TD></TR>
   <TR><TD>5</TD></TR>
    </TABLE>

tableToExcel演示
var tableToExcel=(函数(){
var uri='data:application/vnd.ms excel;base64,'
,模板=“{table}”
,base64=函数{return window.btoa(unescape(encodeURIComponent))}
,format=函数(s,c){返回s.replace(/{(\w+)}/g,函数(m,p){返回c[p];})}
返回函数(表、名称){
如果(!table.nodeType)table=document.getElementById(table)
var ctx={工作表:名称| |'工作表',表:table.innerHTML}
window.location.href=uri+base64(格式(模板,ctx))
}
})()
tableToExcel演示
导出W3C示例表

MICROSOFT Windows中的代码页支持代码页
IDnameAcpoeMPCWindows
NT 3.1Windows
NT 3.51Windows
951200Unicode(ISO/IEC-10646的BMP)XX*1250Windows 3.1东欧XX1251Windows 3.1西里尔XX1252Windows 3.1美国(ANSI)XX1253Windows 3.1格里克XX1254Windows 3.1土耳其XX1255HebrewXX1256ArbicXX1257balticx1361korean(Johab)X**X437MS-DOS美国SXXX708阿拉伯语(ASMO 708)XX709阿拉伯语(ASMO 449+,BCON V4)XX710阿拉伯语(透明阿拉伯语)XX720阿拉伯语(透明ASMO)XX
使用以下方法:

    <!DOCTYPE html>
    <html>
    <head>
      <title>tableToExcel Demo</title>
      <script>
 var tableToExcel = (function() {
      var uri = 'data:application/vnd.ms-excel;base64,'
        , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'
        , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }
        , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }
      return function(table, name) {
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}
        window.location.href = uri + base64(format(template, ctx))
      }
    })()
</script>
    </head>
    <body>

    <h1>tableToExcel Demo</h1>
    <p>Exporting the W3C Example Table</p>

    <input type="button" onclick="tableToExcel('testTable', 'W3C Example Table')" value="Export to Excel">

    <table id="testTable" summary="Code page support in different versions of MS Windows." rules="groups" frame="hsides" border="2"><caption>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</caption><colgroup align="center"></colgroup><colgroup align="left"></colgroup><colgroup span="2" align="center"></colgroup><colgroup span="3" align="center"></colgroup><thead valign="top"><tr><th>Code-Page<br>ID</th><th>Name</th><th>ACP</th><th>OEMCP</th><th>Windows<br>NT 3.1</th><th>Windows<br>NT 3.51</th><th>Windows<br>95</th></tr></thead><tbody><tr><td>1200</td><td style="background-color: #00f; color: #fff">Unicode (BMP of ISO/IEC-10646)</td><td></td><td></td><td>X</td><td>X</td><td>*</td></tr><tr><td>1250</td><td style="font-weight: bold">Windows 3.1 Eastern European</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1251</td><td>Windows 3.1 Cyrillic</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1252</td><td>Windows 3.1 US (ANSI)</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1253</td><td>Windows 3.1 Greek</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1254</td><td>Windows 3.1 Turkish</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td></tr><tr><td>1255</td><td>Hebrew</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1256</td><td>Arabic</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1257</td><td>Baltic</td><td>X</td><td></td><td></td><td></td><td>X</td></tr><tr><td>1361</td><td>Korean (Johab)</td><td>X</td><td></td><td></td><td>**</td><td>X</td></tr></tbody><tbody><tr><td>437</td><td>MS-DOS United States</td><td></td><td>X</td><td>X</td><td>X</td><td>X</td></tr><tr><td>708</td><td>Arabic (ASMO 708)</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>709</td><td>Arabic (ASMO 449+, BCON V4)</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>710</td><td>Arabic (Transparent Arabic)</td><td></td><td>X</td><td></td><td></td><td>X</td></tr><tr><td>720</td><td>Arabic (Transparent ASMO)</td><td></td><td>X</td><td></td><td></td><td>X</td></tr></tbody></table>

    </body>
    </html>

斯诺
网络
Sim卡号码
手机号码
发送者的地址
联系人号码
联系人姓名

行“base64=function{return window.btoa(unescape(encodeURIComponent));}中出现错误。错误消息“object not support this property or method”(对象不支持此属性或方法)在我执行您提供的代码时出错。我尚未进行任何修改。浏览器为IE8for servelet。请参考此链接,您能否与我们共享:如何以.pdf格式导出相同的数据?
<%@ page import="java.sql.* "  %>       
<%
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=SimDetails.xls");

Connection con = null;
PreparedStatement ps=null;
ResultSet  rs   = null;
%>
<%@ include file="directconnection.jsp"%>

<%
int simid=0;
int net=0;
String sim="";
String mob="";
String contnum="";
String couridate="";
String sendaddr="";
String networkName="";
String contpe="";

try{
    %>      
    <table>
        <tr>
            <th width="5%">SNo</th>
            <th width="30%;">Network</th>
            <th width="30%;">Sim Number</th>
            <th width="30%;">Mobile Number</th>
            <th width="30%;">Sender Address</th>
            <th width="30%;">Contact Person Number</th>
            <th width="30%;">Contact Person Name</th>
       </tr>
       <%
        String strSimExportQuery=" SELECT SM_SIM_ID,SM_PROVIDER_ID,SM_SIM_NUMBER,SM_MOBILE_NUMBER,"+
                                               " SM_SENDER_ADDRESS,SM_CONTACT_PERSON_NO,SM_CONTACT_PERSON FROM RS_SIM_MASTER "; 
        ps=con.prepareStatement(strSimExportQuery);
        rs=ps.executeQuery();
        while(rs.next()){
            simid++;
            net=rs.getInt("SM_PROVIDER_ID");
            if(net==1){
                networkName="Vodafone";
            }

            sim=rs.getString("SM_SIM_NUMBER");
            mob=rs.getString("SM_MOBILE_NUMBER");
            sendaddr=rs.getString("SM_SENDER_ADDRESS");
            contnum=rs.getString("SM_CONTACT_PERSON_NO");
            contpe=rs.getString("SM_CONTACT_PERSON");
            %>
            <tr>
                <td><%=simid%></td>
                <td><%=networkName%></td>
                <td><%=sim%></td>
                <td><%=mob%></td>
                <td><%=sendaddr%></td>
                <td><%=contnum%></td>
                <td><%=contpe%></td>
            </tr>
            <%}%>
         </table>
           <%
            }catch(Exception e){
                    out.println(e);
               }
                finally {
                    if (rs!= null){ rs.close(); rs=null;}
                    if(ps!=null){ps.close();ps=null;}
                    if (con != null) {con.close();con = null;}
            }
           %>