仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1078|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA编程:一个用servlet完成导出csv文件的实例

[复制链接]
分手快乐 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:34:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你对java乐观有点盲目。java的关键就是在服务器上表现优异,而且它提供了整个开发所需要的工具。应该是说,看哪天。net有没有机会赶上java。servlet李书鹏tukeyli@sohu.com

关头字:JavaServletCSV

本文完成了一个基于servlet手艺的复杂的csv文件导出的程序实例。

代码以下,个中setCsvData函数的感化是设置导出的数据,并将了局保留于Vector中,实践使用时能够恣意扩大该函数:

packagecommon;

importjava.io.IOException;
importjava.io.PrintWriter;
importjava.util.Vector;
importjavax.servlet.ServletException;
importjavax.servlet.http.*;

publicclassGo2CsvextendsHttpServlet
{
publicVectorvecCsvData;

privateStringFileName;

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
//throwsServletException,IOException
{
FileName="Untitled.csv";//defaultfilename

vecCsvData=newVector();

//setsthedatatobeexported
setCsvData(request);

//Exportingvectortocsvfile
StringstrOut="";
for(inti=0;i<vecCsvData.size();i++)
{
String[]strLine=(String[])vecCsvData.elementAt(i);
intcol_num=strLine.length;
for(intj=0;j<col_num;j++)
{
strOut+=strLine[j];
if(j<col_num-1)
{
strOut+=",";
}
}
strOut+="
";
}

//*****OutputstrOuttoResponse******
response.reset();//Resettheresponse
response.setContentType("application/octet-stream;charset=GB2312");//theencodingofthisexampleisGB2312
response.setHeader("Content-Disposition","attachment;filename=""+FileName+""");

PrintWriterout;
try
{
out=response.getWriter();
out.write(strOut);
}
catch(IOExceptione)
{
e.printStackTrace();
}
//***************************************
}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
doGet(request,response);
}

/**
*Setsthedatatobeexported
*@paramrequest
*/
publicvoidsetCsvData(HttpServletRequestrequest)
{
//Writingvector
for(inti=0;i<5;i++)
{
String[]strLine=newString[10];
for(intj=0;j<10;j++)
{
strLine[j]=Integer.toString(i)+"-"+Integer.toString(j);
}
vecCsvData.addElement(strLine);
}
}

/**
*Setsthefilenametobeexported
*@paramfilename
*/
publicvoidsetFileName(Stringfilename)
{
FileName=filename;
}
}

挪用办法:
http://hostname:port/ApplicationName/servlet/common.Go2Csv

导出文件Untitled.csv内容以下:
0-0,0-1,0-2,0-3,0-4,0-5,0-6,0-7,0-8,0-9
1-0,1-1,1-2,1-3,1-4,1-5,1-6,1-7,1-8,1-9
2-0,2-1,2-2,2-3,2-4,2-5,2-6,2-7,2-8,2-9
3-0,3-1,3-2,3-3,3-4,3-5,3-6,3-7,3-8,3-9

还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
小女巫 该用户已被删除
沙发
发表于 2015-1-21 10:15:00 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
兰色精灵 该用户已被删除
板凳
发表于 2015-1-28 07:51:54 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
再现理想 该用户已被删除
地板
发表于 2015-1-30 13:43:31 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
再见西城 该用户已被删除
5#
发表于 2015-1-30 23:30:34 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-5 09:12:13 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
不帅 该用户已被删除
7#
发表于 2015-2-8 18:20:49 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
海妖 该用户已被删除
8#
发表于 2015-2-17 14:00:09 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
透明 该用户已被删除
9#
发表于 2015-2-28 17:11:33 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
深爱那片海 该用户已被删除
10#
发表于 2015-3-7 21:07:35 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
小妖女 该用户已被删除
11#
发表于 2015-3-13 05:09:34 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
冷月葬花魂 该用户已被删除
12#
发表于 2015-3-20 13:25:30 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
精灵巫婆 该用户已被删除
13#
发表于 2015-3-21 15:06:19 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
莫相离 该用户已被删除
14#
发表于 2015-3-22 02:13:59 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
愤怒的大鸟 该用户已被删除
15#
发表于 2015-4-1 17:32:23 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
山那边是海 该用户已被删除
16#
发表于 2015-4-3 22:00:48 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
变相怪杰 该用户已被删除
17#
发表于 2015-4-23 23:15:23 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
18#
发表于 2015-4-24 08:36:01 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
若相依 该用户已被删除
19#
发表于 2015-6-6 21:47:29 | 只看该作者
是一种使用者不需花费很多时间学习的语言
灵魂腐蚀 该用户已被删除
20#
发表于 2015-6-12 23:20:40 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-8 18:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表