大家好,又见面了,我是你们的朋友全栈君。
代码快速 实现xml 转换为 Excel(xml转excel通用类-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”, “院团大事”);HashMap test1 = new HashMap();
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”;
HashMap alltables = new HashMap();
}
/** 定义xml数据结构定义 **/
class xmlStruct
{
String tableName = “”;// 表名
String tableCName = “”;// 表名中文说明
/** 表的性质0:主表(默认)1:从表—这里暂处理1级主从,哈 **/
int tableType = 0;
String tableCalssField = “”;// 如果有内容分类,分类标识字段
String tableCalssFieldValue = “”;
HashMap tableCalssCName = new HashMap();
/** 表的字典字段及对应值 **/
HashMap> tableFilesClassValue = new HashMap>();
/** 表字段中文对应 **/
// HashMap tableFiles = new HashMap();
String[][] tableFiles;
}
理论上通用,罪过。不多说,有可能用到的,下附件看看。
不合理的地方请指出—————-
下面是完整代码(一些特殊引用只是用作数据取数据,引用时可以去掉的—-)
package jetsennet.jmcc.business;
import java.io.File;
import java.io.IOException;
import java.sql.SQLE
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171929.html原文链接:https://javaforall.cn