- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
代码快速 实现xm 转换为 Excexm转exce通用类java完成代码 可作工具使用
用代码实现xml 文件/数据 转换为excel 文件。(java)----何潮
背景:最近项目要做导出功能,但导出的数据对象类型实在太多了,一个个去实现;实在是没心情去做。于是----------
意义:快速实现数据导出
为什么是xml to excel?
因为项目中可以直接使用xml数据。所以就选择xml了。(直接数据库取数据转excel,也可以按同一思路实现)
目标:从一个最多二级关联的数据结构,通过定义结构关系,实现数据自动转换成excel.
特点:支持字典字段转换,可合并多关联字段,三种效果展示,有一定的可复用性 ^_^(最多二级关联----当然,可自行扩展)
转换效果:实现三种显示方式的转换
方式1:一行显示一个完整对象(合并多个关联表)
方式2:复合形展示
方式3:一行显示一个完整对象(合并多个关联表)----支持不同对象不同表头
复用实现一个简单导出要多少代码?
xmlStruct mainXmlStruct1 = new xmlStruct();
mainXmlStruct1.tableName = CM10_OBJECT;
mainXmlStruct1.tableCName = 活动信息;
mainXmlStruct1.tableCalssField = OBJ_SUBTYPE;
mainXmlStruct1.tableCalssCName.put(200101, 院团大事); HashMapString, String test1 = new HashMapString, String();
test1.put(0, 新建);
test1.put(100, 完成);
mainXmlStruct1.tableFilesClassValue.put(OBJ_STATE, test1);
mainXmlStruct1.tableFiles = new String[][] { { OBJ_NAME, 活动名称 }, { FIELD_1, 活动内容简介 }, { FIELD_2, 活动开始时间 },
{ FIELD_3, 活动结束时间 }, { OBJ_STATE, 状态 } };
xt.alltables.put(200101, mainXmlStruct1);
思路?
定义结构 定义数据关系
过程循环取表,循环取表头,循环取内容--------
class xExcelType
{
/** xls显示方式0:组合式1:单一列表式 **/
int exShowType = 0;
String rootName = DataSource;
String maintableName = CM10_OBJECT;
HashMapString, xmlStruct alltables = new HashMapString, xmlStruct();
}
/** 定义xml数据结构定义 **/
class xmlStruct
{
String tableName = ;// 表名
String tableCName = ;// 表名中文说明
/** 表的性质0:主表(默认)1:从表---这里暂处理1级主从,哈 **/
int tableType = 0;
String tableCalssField = ;// 如果有内容分类,分类标识字段
String tableCalssFieldValue = ;
HashMapString, String tableCalssCName = new HashMapString, String();
/** 表的字典字段及对应值 **/
HashMapString, HashMapString, String tableFilesClassValue = new HashMapString, HashMapString, String();
/** 表字段中文对应 **/
// HashMapString, String tableFiles = new HashMapString, String();
String[][] tableFiles;
}
理论上通用,罪过。不多说,有可能用到的,下附件看看。
不合理的地方请指出----------------
下面是完整代码(一些特殊引用只是用作数据取数据,引用时可以去掉的----)
package jetsennet.jmcc.business;
import java.io.File;
import java.io.IOException;
import java.sql.SQLException;
import java.util.HashMa
文档评论(0)