导出到EXCEL,第一个数字为0会被忽略掉,请问要如何设置格式

yinglingxl 2013-02-28 09:49:46
第一个数字为0会自动被EXCEL忽略掉,或者数据太长,也不能完整显示。请问要如何设置,谢谢!

<%@ page contentType="application/vnd.ms-excel; charset=gb2312" %>
<%@ page import="java.sql.*"%>
<%


response.setHeader("Content-Disposition", "attachment;filename=H1_3.xls");


%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>生成</title>
</head>


<body>
<table border="1">
<TR>
<td class="xlsText"><%out.print("F203340100000");%></td>
<td class="xlsText"><%out.print("F203340300000");%></td>
<td class="xlsText"><%out.print("F203340400000");%></td>
<td><%out.print("AA");%></td>
<td><%out.print("MY");%></td>
<td><%out.print("YB");%></td>
<td><%out.print("BMY");%></td>
</TR>
</table>
<%
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_h1_3@c9218";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
<table border="1">
<TR>
<td class="xlsText"><%=rs.getString(1)%> </td>
<td class="xlsText"><%=rs.getString(2)%> </td>
<td class="xlsText"><%=rs.getString(3)%> </td>
<td><%=rs.getString(4)%> </td>
<td><%=rs.getString(5)%> </td>
<td><%=rs.getString(6)%> </td>
<td><%=rs.getString(7)%> </td>
</TR>
</table>
<%}%>

<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
...全文
1019 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinglingxl 2013-02-28
  • 打赏
  • 举报
回复
引用 6 楼 fangmingshijie 的回复:
数据库的引擎是哪个?
引擎是指?我是用ORACLE 10G
  • 打赏
  • 举报
回复
数据库的引擎是哪个?
yinglingxl 2013-02-28
  • 打赏
  • 举报
回复
引用 4 楼 fangmingshijie 的回复:
直接查询输出的是什么?
这样 F203340100000 F203340300000 F203340400000 AA MY YB BMY 20130227000000 01 01 VIP 13 0 1 20130227000000 02 01 PT 1 0 0
  • 打赏
  • 举报
回复
直接查询输出的是什么?
yinglingxl 2013-02-28
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">这句删掉
删掉了,也不行哦
  • 打赏
  • 举报
回复
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">这句删掉
练习Crazy 2013-02-28
  • 打赏
  • 举报
回复
导出的时候,在前面加一个单引号: '01232324 这样就可以在Excel里正常显示了
yinglingxl 2013-02-28
  • 打赏
  • 举报
回复
引用 11 楼 jianqiangking 的回复:
引用 楼主 yinglingxl 的回复:第一个数字为0会自动被EXCEL忽略掉,或者数据太长,也不能完整显示。请问要如何设置,谢谢! <%@ page contentType="application/vnd.ms-excel; charset=gb2312" %> <%@ page import="java.sql.*"%> <% respo……
非常感谢
熊猫大虾 2013-02-28
  • 打赏
  • 举报
回复
引用 楼主 yinglingxl 的回复:
第一个数字为0会自动被EXCEL忽略掉,或者数据太长,也不能完整显示。请问要如何设置,谢谢! <%@ page contentType="application/vnd.ms-excel; charset=gb2312" %> <%@ page import="java.sql.*"%> <% response.setHeader("Conten……
解决思路:在Excel中作一个包含有"012457890"的内容,设定单元格的显示方式,然后保存成Html的文件,在查看源代码. 发现在 CSS格式定义中有:td{mso-number-format:"\@";}.这样问题就容易解决了. 实际伤得代码只是比常见的处理方式多了一 句而已. LZ加上这个就可以了 <style type="text/css"> td { mso-number-format:'\@'; } </style>
xb12369 2013-02-28
  • 打赏
  • 举报
回复
①0被过滤是因为数字,换成字符串吧 ②长度不够先显示部分
bree06 2013-02-28
  • 打赏
  • 举报
回复
将数字型转为字符串型,比如01转为"'01"
yinglingxl 2013-02-28
  • 打赏
  • 举报
回复
谁帮帮忙哦,

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧