时间:2015-04-03 来源:

【Java】无须额外的包,把Java中的内容输出到Excel中,无乱码,绝对兼容Excel2003与2007 【Web前端】

Java输出一段文本到txt中大家基本都会了div+css+js切图,这已经是学习Java的必修课了,div+css+js切图不会也没有问题页面div重构,具体可以看《【Java】输入与输出与JDK1.5之后的新型字符串StringBuilder》(点击打开链接).网上对于Java内容转化成Excel的内容大多数都是需要什么poi包,页面div重构jsl包psd切图html,一堆奇奇怪怪的jar插件.其实仅仅利用java.io.*;这个基本包就能够把Java中的内容输出到Excel表中,手机div+css当然web外包,如果你是要处理Mysql数据库不要这样做了,web外包直接一条Mysql的查询命令就能把Mysql的查询结果输出到Excel表中了.具体在《【Mysql】将Mysql的一张表导出至Excel》(点击打开链接)说过了网页切图制作,这里不再赘述.只是想举个例子说明,div页面着重说明Java如果打印内容到Excel.

三、制作过程

二、基本思想

在Java中有如下的学生类Student定义:

public static void main(String args[]) throws IOException { ArrayList<Student> studentArr = new ArrayList<Student>(); Student s1 = new Student(); s1.s_no = 1; s1.s_name = "中文"; s1.s_class = 102; studentArr.add(s1); Student s2 = new Student(); s2.s_no = 2; s2.s_name = "是没有"; s2.s_class = 101; studentArr.add(s2); Student s3 = new Student(); s3.s_no = 3; s3.s_name = "问题的!"; s3.s_class = 103; studentArr.add(s3); javaToExcel(studentArr); System.out.println("学生表.xml已生成div+css+js切图,该xml是专门以excel打开的xml"); }然后调用javaToExcel这个方法,div+css+js切图这个核心方法是接下来讲解的重点承接网站前端,最后把这三个类输出到c:\学生表.xml中,承接网站前端具体效果如下:

此.xml文件不是在《【Java】配置文件概念psd切图html,Java对配置文件的操作》(点击打开链接)已经介绍过的配置文件,承接网页制作而是Excel2003与Excel2007中的其中一种保存格式web外包,只是大家不习惯使用而已.

import java.io.*; import java.util.*; class Student { public int s_no; public String s_name; public int s_class; } public class excelPrint { public static void javaToExcel(ArrayList<Student> studentArr) throws IOException { //使用StringBuilder比String的效率比高,web外包占用计算机资源没有这么多. //最后输出前网页切图制作,转成字符串就可以了. StringBuilder excelXMLStringBuilder = new StringBuilder(""); //构造好excelXML的头 excelXMLStringBuilder .append("<?xml version=\"1.0\"?><?mso-application progid=\"Excel.Sheet\"?><Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:html=\"http://www.w3.org/TR/REC-html40\"><Worksheet ss:Name=\"学生表\"><Table>"); //输出好表头 excelXMLStringBuilder .append("<Row><Cell><Data ss:Type=\"String\">学号</Data></Cell><Cell><Data ss:Type=\"String\">姓名</Data></Cell><Cell><Data ss:Type=\"String\">班级</Data></Cell></Row>"); //构造出每一行 for (int i = 0; i < studentArr.size(); i++) { //先构造出<Row>节点 excelXMLStringBuilder.append("<Row>"); Student student = studentArr.get(i); //再不停地构造好每一个<Cell>节点 excelXMLStringBuilder.append("<Cell><Data ss:Type=\"String\">" + student.s_no + "</Data></Cell><Cell><Data ss:Type=\"String\">" + student.s_name + "</Data></Cell><Cell><Data ss:Type=\"String\">" + student.s_class + "</Data></Cell>"); excelXMLStringBuilder.append("</Row>"); } //再构造好excelXML的尾 excelXMLStringBuilder.append("</Table></Worksheet></Workbook>"); //最后把这个字符串打印到c:\学生表.xml就完事了 //false代表覆盖输出,网页切图制作不是在此文件的末尾继续输出 PrintWriter printwriter = new PrintWriter(new FileWriter("c:\\学生表.xml", false)); //输出前把excelXMLStringBuilder转化成字符串 printwriter.print(excelXMLStringBuilder + ""); //清空输出缓冲区 printwriter.flush(); //必须关闭文件输出流,网页重构报价Java才会在文件打印出字符串承接网站前端,也就是二进制流,承接网站前端 printwriter.close(); } public static void main(String args[]) throws IOException { ArrayList<Student> studentArr = new ArrayList<Student>(); Student s1 = new Student(); s1.s_no = 1; s1.s_name = "中文"; s1.s_class = 102; studentArr.add(s1); Student s2 = new Student(); s2.s_no = 2; s2.s_name = "是没有"; s2.s_class = 101; studentArr.add(s2); Student s3 = new Student(); s3.s_no = 3; s3.s_name = "问题的!"; s3.s_class = 103; studentArr.add(s3); javaToExcel(studentArr); System.out.println("学生表.xml已生成psd切图html,该xml是专门以excel打开的xml"); } }

因此整个Java文件连起来就是这个样子,手机div+css这也算是xml的一个应用例子吧!或许有人会问我为何不直接输出成.csv,笔者亲测无论用怎么编码网页切图制作,其默认打开都是有Bug的,网页切图制作必须用户自己做一定动作才能显示正常div+css+js切图,这个相当不好,div+css+js切图而.xls格式太复杂承接网站前端,那你只能这样搞psd切图html,.xml格式就再好不过了.

看到这里有人可能以为我是打错字,手机div+css什么?Excel文件的后缀名不是.xls或者.xlsx吗?或者还有人以为我是故意输出xml然后右键以Excel的打开方式打开.

当然这东西本质上也是一个普通的.xml配置文件web外包,由于其头,web外包注明此乃转为Excel解释的xml文件网页切图制作,你如果设置以记事本打开这个学生表.xls,可以发生它的内容是这样的,div+css+js切图半点乱码没有.不像那些.doc文件与.xls文件就一堆乱码.

class Student { public int s_no; public String s_name; public int s_class; } 建立三个Student类承接网站前端,分别设置好学号、姓名与班级压入一个专门存放学生类的ArrayList当中,承接网站前端

正是由于.xml跨平台无乱码的特性psd切图html,因此这种输出Java数据到Excel的东西,承接网页制作便无须任何包web外包,在任意的Java环境,web外包包括JSP+Servlet+JDBC、Struts+Hibernate+Spring、安卓等只要用到Java语言的地方网页切图制作,就可以输出这种以.xls皆为的Excel表,网页切图制作我们需要的只不过是把输出的数据构造成上述形式的字符串而已!Windows中的Office 2003就能无乱码地读出来.

这个xml,大家与最终用Excel打开的效果比对一下,网页重构报价可以明显发现有如下的对应关系:

一、基本目标

必须不是承接网站前端,这个xml的默认打开方式就是Microsofe Office Excel2003/2007.

四、总结与展望

因此,承接网站前端便有了如下的Excel表.xml文件的javaToExcel构造方法psd切图html,此方法要求的一个存放好类的数组,手机div+css最终什么都不返回.关键是构造好每一个<Row>与<Cell>,相信有过ASP、JSP、PHP编程经验的各位大神们对此根本没有问题,div切图排版就像不停构造<td>,到了行头行尾构造<tr>就可以了.

<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <Worksheet ss:Name="学生表"> <Table> <Row> <Cell> <Data ss:Type="String">学号</Data> </Cell> <Cell> <Data ss:Type="String">姓名</Data> </Cell> <Cell> <Data ss:Type="String">班级</Data> </Cell> </Row> <Row> <Cell> <Data ss:Type="String">1</Data> </Cell> <Cell> <Data ss:Type="String">中文</Data> </Cell> <Cell> <Data ss:Type="String">102</Data> </Cell> </Row> <Row> <Cell> <Data ss:Type="String">2</Data> </Cell> <Cell> <Data ss:Type="String">是没有</Data> </Cell> <Cell> <Data ss:Type="String">101</Data> </Cell> </Row> <Row> <Cell> <Data ss:Type="String">3</Data> </Cell> <Cell> <Data ss:Type="String">问题的!</Data> </Cell> <Cell> <Data ss:Type="String">103</Data> </Cell> </Row> </Table> </Worksheet> </Workbook>

在安装了Office 2003之后,网页切图制作在Windows2003中这个.xml文件打开方式同样是Microsofe Office Excel2003.

public static void javaToExcel(ArrayList<Student> studentArr) throws IOException { //使用StringBuilder比String的效率比高div+css+js切图,占用计算机资源没有这么多. //最后输出前,div+css+js切图转成字符串就可以了. StringBuilder excelXMLStringBuilder = new StringBuilder(""); //构造好excelXML的头 excelXMLStringBuilder .append("<?xml version=\"1.0\"?><?mso-application progid=\"Excel.Sheet\"?><Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:html=\"http://www.w3.org/TR/REC-html40\"><Worksheet ss:Name=\"学生表\"><Table>"); //输出好表头 excelXMLStringBuilder .append("<Row><Cell><Data ss:Type=\"String\">学号</Data></Cell><Cell><Data ss:Type=\"String\">姓名</Data></Cell><Cell><Data ss:Type=\"String\">班级</Data></Cell></Row>"); //构造出每一行 for (int i = 0; i < studentArr.size(); i++) { //先构造出<Row>节点 excelXMLStringBuilder.append("<Row>"); Student student = studentArr.get(i); //再不停地构造好每一个<Cell>节点 excelXMLStringBuilder.append("<Cell><Data ss:Type=\"String\">" + student.s_no + "</Data></Cell><Cell><Data ss:Type=\"String\">" + student.s_name + "</Data></Cell><Cell><Data ss:Type=\"String\">" + student.s_class + "</Data></Cell>"); excelXMLStringBuilder.append("</Row>"); } //再构造好excelXML的尾 excelXMLStringBuilder.append("</Table></Worksheet></Workbook>"); //最后把这个字符串打印到c:\学生表.xml就完事了 //false代表覆盖输出承接网站前端, false)); //输出前把excelXMLStringBuilder转化成字符串 printwriter.print(excelXMLStringBuilder + ""); //清空输出缓冲区 printwriter.flush(); //必须关闭文件输出流psd切图html,Java才会在文件打印出字符串,手机div+css也就是二进制流web外包, printwriter.close(); }

点击次数:9345
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日网站优化教程(3):样式表CSS2014年01月28日扩展MARA添加Z字段BAPI_TE_MARA 【编程语言】2015年07月21日简易“线程池”在Python网络爬虫中的应用 【编程语言】2015年07月31日nodejs使用xampp中的mysql教程 【架构设计】2015年01月07日Java生成数字证书系列(二)剖析数字证书 【移动开发】2014年12月30日其实成功很简单,每个人都可以成功啊!!!【编程语言】2015年03月30日android获取系统语言【移动开发】2015年04月13日2014智能电视游戏峰会顺利召开,开启行业破冰序幕【综合】2014年12月03日open动态修改img的onclick事件示例代码2014年01月29日hdu5191-BuildingBlocks【移动开发】2015年03月26日asp(javascript)全角半角转换代码dbc2sbc2014年01月29日Asp.net的GridView控件实现单元格可编辑方便用户使用2014年01月29日LeetCode(14)PlusOne 【Web前端】2015年04月24日iOSAd-Hoc测试发布版本应用 【研发管理】2015年09月03日JavaScipt对象的基本知识2014年01月29日数据恢复与数据彻底删除2015年03月09日ArcGIS地理坐标系与投影坐标系【移动开发】2014年12月11日uva846Steps 【综合】2015年07月07日【Cocos2d-x开发问题-5】CocosCodeIDE生成APK安装包 【移动开发】2014年12月01日asp.net反射减少代码书写量2014年01月29日回首年少岁月的那个她,真叫人难过又怦然心动 【编程语言】2015年06月01日IntelliJIdea新手从svn挡下普通项目步骤配置2015年06月26日简单的i++++i实现 【Web前端】2015年07月24日phpsir开发一个检测百度关键字网站排名的python程序2014年01月29日豆瓣时间,会占用你我的时间么? ,,2017年03月09日360盛大正式手机预售:雷军与周鸿祎再掀论战 ,,2016年06月23日Android瀑布流StaggeredGridView学习研究 【编程语言】2014年12月09日匆匆那年,纪念我的2014 【移动开发】2015年01月04日HDUACM1142AWalkThroughtheForest->SPFA算法+记忆化深搜 【综合】2015年04月28日人生的最低谷时期 【移动开发】2015年07月10日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)