我们正在使用以下页面内容类型。 excel文件(.xlsx格式)可以从应用程序正确生成。但是无法打开它。打开时会显示空白页。
<%@ page contentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" %>
这是我的代码的示例结构。
<%@ page import="java.util.*"%>
<HTML xmlns:x="urn:schemas-microsoft-com:office:excel">
<%@ page contentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" %>
<xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>Sample Table Structure</x:Name>
<x:WorksheetOptions>
<x:Print>
<x:ValidPrinterInfo/>
<x:Gridlines/>
</x:Print>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
</x:ExcelWorkbook>
</xml>
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
<td>80</td>
</tr>
</table>
</html>
答案 0 :(得分:0)
对于Content-Type方法,您可能需要在指令中设置以下行,以使整个页面呈现为Excel。
<%@ page contentType="application/vnd.ms-excel; charset=UTF-8" %>
(OR)
尝试Apache Poi
导出到excel功能。它易于使用,我们甚至可以通过编程方式格式化每个单元格。否则请尝试
response.setContentType();