代码如下,导出成EXCEL成功了,但打开EXCEL非常慢,要好几分钟,内容我复制到新EXCEL,打开没问题。猜想是不是导出时带了一些格式。请问要如何解决。谢谢!<%@ page contentType="application/vnd.ms-excel; charset=utf-8" %>
<%@ page import="java.sql.*"%>  
<% response.setHeader("Content-Disposition", "attachment;filename=yc2.xls"); %>
<html>     <style type="text/css">
        td {
           mso-number-format:'\@';
        }
</style><body>     
<table border="1">
<td><%out.print("MAIN_SHEET_FLOW_NO    ");%>    </td><br>
</table>
<%
String rq=request.getParameter("rq");Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();     
String url="jdbc:oracle:thin:@10.236.80.253:1521:chdb";  
//orcl
String user="ch";  
String password="ch";  
Connection conn= DriverManager.getConnection(url,user,password);     
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
String sql="select * from vw_yc1@c9218";     
ResultSet rs=stmt.executeQuery(sql);     
while(rs.next()) {%>       
<table border="1">
<td><%=rs.getString(1)%>    </td><br>
</table>
<%}%>     
<%rs.close();     
stmt.close();     
conn.close();     
%>     
</body>     
</html>

解决方案 »

  1.   


    在最前面哩<%@ page contentType="application/vnd.ms-excel; charset=utf-8" %>
    <%@ page import="java.sql.*"%>  
    <% response.setHeader("Content-Disposition", "attachment;filename=yc2.xls"); %>
    <html>     <style type="text/css">
            td {
               mso-number-format:'\@';
            }
    </style>
      

  2.   

    在你的系统里面打开Excel慢吗?貌似没什么关系的。
      

  3.   

    呃,导excel的一般Java写吧。把数据写入到excel,然后response传输。
    用jxl或者poi这种常见的jar包。数据写入excel可以封装成方法。
      

  4.   

    不要用这种方法导出excel,这种方式不好,而且还要受客户端机器的影响,直接用jxl或者poi等工具导出,即时客户端没有安装excel都没有问题。
      

  5.   


    下载后EXCEL后,放其它机子一样好慢,怀疑导出的EXCEL可能格式带比较多
      

  6.   

    你这不是excel你这是个html的table,打开你这个文件,excel需要将它转成真正的excel,当然会慢而且这种方法在新版office里会有提示,因为你的extension和你的content不相符
      

  7.   

    直接用poi或jxl这类现成的插件多方便