SSH 导入导出excel 谁有这块的资料吗?
最近要开发一个导入导出功能,框架式SSH,数据库是oracle。在网上看了一下,很多都只有代码,有没有可以运行的项目之类的?
链接也行,如果有知道的麻烦回复下,万分感谢!!!
[解决办法]
JSP两行代码导出excel /word 笔记
在正常的展示列表页面添加两行代码即可导出excel 电子表格 :
html标签前加入如下代码:
<%@ page contentType="application/msexcel" %>
<!-- 以上这行设定本网页为excel格式的网页 -->
<%
response.setHeader("Content-disposition","inline; filename=agreement.xls");
//以上这行设定传送到前端浏览器时的档名为agreement.xls
//就是靠这一行,让前端浏览器以为接收到一个excel档
//导出Word只需要把contentType="application/msexcel"改为contentType="application/msword" ,filename=agreement.xls 改成 filename=agreement.doc
%>
格式化excel值:
用法:
在css中加入:mso-number-format定义数据格式,格式可以在excel中查看自定义格式,具体可以参考一下:
mso-number-format:"0" NO Decimals
mso-number-format:"0\.000" 3 Decimals
mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec
mso-number-format:"mm\/dd\/yy" Date7
mso-number-format:"mmmm\ d\,\ yyyy" Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 01/03/1998
mso-number-format:"Medium Date" 01-mar-98
mso-number-format:"d\-mmm\-yyyy" 01-mar-1998
mso-number-format:"Short Time" 5:16
mso-number-format:"Medium Time" 5:16 am
mso-number-format:"Long Time" 5:16:21:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0%" Percent - no decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)
如果项目放到weblogic 服务器下 excel可以正常导出,但有时候会报“ Response already committed” 异常,原因可能是:
重复提交,在某个地方有submit等的信息
处理办法:可以使用类似 out.clear() 的语句来关闭某些流
用法:放置与最后一个html结束标签之后
实例代码 :
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page contentType="application/msexcel"%> <!-- 以上这行设定本网页为excel格式的网页 -->
<%
response.setHeader("Content-disposition","inline; filename=daycheak.xls"); <!-- 这行设定传送到前端浏览器时的档名为daycheak.xls 就是靠这一行,让前端浏览器以为接收到一个excel档 -->
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'daycheak.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<TABLE width="1000" height="118" border="1">
<tr>
<td colspan="8" align="center" valign="middle">
日终对账记录
</td>
</tr>
<tr>
<th width="8%" align="center" valign="middle" scope="col">
序号
</th>
<th width="20%" align="center" valign="middle" scope="col">
日期
</th>
<th width="15%" align="center" valign="middle" scope="col">
业务种类
</th>
<th width="15%" align="center" valign="middle" scope="col">
业务发起方
</th>
<th width="15%" align="center" valign="middle" scope="col">
业务接收方
</th>
<th width="8%" align="center" valign="middle" scope="col">
交易金额
</th>
<th width="8%" align="center" valign="middle" scope="col">
业务笔数
</th>
<th width="8%" align="center" valign="middle" scope="col">
交易状态
</th>
</tr>
<s:iterator value="#request.daycheakList" var="item" status="st">
<tr>
<td align="center" valign="middle" style="mso-number-format: '\@';"> <!--style="mso-number-format: '\@';" : 格式化excel单元值为文本 -->
${st.count}
</td>
<td align="center" valign="middle" style="mso-number-format: '\@';">
${item.DAY}
</td>
<td align="center" valign="middle" style="mso-number-format: '\@';">
${item.BUSINESSNAME}
</td>
<td align="center" valign="middle" style="mso-number-format: '\@';">
${item.FROMCODE}
</td>
<td align="center" valign="middle" style="mso-number-format: '\@';">
${item.TOCODE}
</td>
<td align="center" valign="middle" style="mso-number-format: '\@';">
${item.BUSINESSMONEY}
</td>
<td align="center" valign="middle" style="mso-number-format: '\@';">
${item.BUSINESSCOUNT}
</td>
<td align="center" valign="middle" style="mso-number-format: '\@';">
${item.STATUS ==0 ?'成功':'失败' } <!--structs2 三元表达式的使用 -->
</td>
</tr>
</s:iterator>
</table>
</body>
</html>
<% out.clear();%> <!-- 处理页面因为重复提交可能引发的 “Response already committed ”异常-->