救命!!!各位老大,servlet中把查出来的数据(报表)用excel显示,点击一个button(html),就要显示,怎么办?急急急!一定给分,最好有

ke 2002-05-11 04:31:29
救命!!!各位老大,servlet中把查出来的数据用excel显示,点击一个button(html),就要在excel中显示,怎么办?急急急!一定给分,最好有例子,小弟先谢谢了!!
...全文
42 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltyyan 2002-05-20
  • 打赏
  • 举报
回复
老大们,把原码共享参考一下,小弟我也在作类似的东东,可怜的是连excel都不能用,通通都要自己做,我晕~~!!
lci21 2002-05-19
  • 打赏
  • 举报
回复
通过一定的content传送方式来做
ke 2002-05-17
  • 打赏
  • 举报
回复
我现在用apache.poi项目,着急得很阿,中文不能显示!!
ke 2002-05-17
  • 打赏
  • 举报
回复
十分感谢!!
我看了。不过在netscape上没反应。windows的东西,啊啊啊
lci21 2002-05-15
  • 打赏
  • 举报
回复
你会jsp吗?我现在手头没有servlet的,我给你一个jsp的吧,稍微改动一下,就可以改成servlet的。注意查收
ke 2002-05-13
  • 打赏
  • 举报
回复
to lci21:


我没有收到你的手机号阿,你在给我发一次吧,我十分想知道你是怎么做出来的,帮帮我吧!

我的邮件:wangsb49710@263.net
wangshare1234567@163.com

ke 2002-05-12
  • 打赏
  • 举报
回复
我也在北京。
ke 2002-05-11
  • 打赏
  • 举报
回复
我的信箱:

wangsb49710@263.net
或者: wangshare1234567@163.com

十分感谢!
lci21 2002-05-11
  • 打赏
  • 举报
回复
你的信箱给我
lci21 2002-05-11
  • 打赏
  • 举报
回复
你在哪儿?北京吗?我在北京,我在csdn上把我的手机号发给你了,我现在在网把,什么都没有
ke 2002-05-11
  • 打赏
  • 举报
回复
lci:

你告诉我,你是怎么做得吧,我急得很,现在还是没有什么切实可行的办法?

十分感谢!
一定给分的。
ke 2002-05-11
  • 打赏
  • 举报
回复
谢谢王文友。

to:lci 你能否说得清楚一些,我不懂,vba是什么,怎么用啊?
lci21 2002-05-11
  • 打赏
  • 举报
回复
你查查vba,里面有和excel的接口,然后在你的servlet中生成操纵客户端excel的代码,返回到客户端.
lci21 2002-05-11
  • 打赏
  • 举报
回复
to ke():你的要求和我以前做过的一个程序一样,客户点击按钮,马上弹出一个新生成的excel文件,excel中是用户需求的数据,我早就实现了.
wangwenyou 2002-05-11
  • 打赏
  • 举报
回复
是服务器端
优化一下,你应该省去磁盘IO的操作。
ke 2002-05-11
  • 打赏
  • 举报
回复
哦,对了,你说servlet生成的xls文件,他一开始放在什么地方啊,在服务器端吗?
wangwenyou 2002-05-11
  • 打赏
  • 举报
回复
/**
* 下载附件。
* @param req 客户端请求对象
* @param attachmentID 附件ID
*/
public int download( HttpServletResponse res, String fileName )
throws Exception
{



res.setHeader( "Content-Disposition", "inline");
res.setContentType( "application/vnd.ms-excel" );

InputStream in = new FileInputStream( fileName );
BufferedInputStream bis = new BufferedInputStream( in );
ServletOutputStream out = res.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream( out );
int BUFF_SIZE = 10240;
byte[] buffer = new byte[ BUFF_SIZE ];
int bytesRead;

try
{
while ( true )
{
synchronized ( buffer )
{
int amountRead = bis.read( buffer );

if ( amountRead == -1 )
{
break;
}

bos.write( buffer, 0, amountRead );
}
}
}
finally
{
if ( bis != null )
{
bis.close();
}

if ( bos != null )
{
bos.close();
}

if ( in != null )
{
in.close();
}

if ( out != null )
{
out.close();
}
}

return 0;
}
wangwenyou 2002-05-11
  • 打赏
  • 举报
回复
分不重要!你等等
ke 2002-05-11
  • 打赏
  • 举报
回复
我把我现在的程度说给你听,我现在只可以在java中实现生成一个excel文件,我就是用的是,poi项目中的hssf,我现在只有到这一步了。
可以有内容的,而且存在本地了,我想这在servlet中实现也是不难得,但是现在我不明白的是我怎样在servlet中,打开那个文件,要给客户看啊,客户的操作只有一步阿,点击button,看excel文件。很简单的看上去。
你再帮帮我啊。我一定给分,刚才我想给的,不过网页有问题,等过一会,一定给你分的。
谢谢!!!
wangwenyou 2002-05-11
  • 打赏
  • 举报
回复
基本流程如下
Button-(请求)->Servlet-(查询)->数据库-(结果)->POI-(Excel)->OutputStream-(设置Header)->Servlet-(输出流)->客户端浏览器

具体细节你可以参考POI项目的例子和Servlet的相关方法
res.setHeader( "Content-Disposition", "inline");


加载更多回复(3)

81,092

社区成员

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

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