精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-01
wangweij 写道 关于定义数据类型也考虑过.甚至想过可以定义对象类型,可是Excel中给出的数据并不是可以直接插入或者更新进数据库的.所以索性不考虑数据类型.全部以String类型进行处理,得到数据后在进行业务的处理
牵涉到的类型无非就那么几种,整型,日期处理起来难度都不大,无非就多一个判断而已。全部String类型放到业务中再处理,这样耦合度不就高了? 个人愚见应该是抛給业务的已经是全部处理好的pojo集合了。 |
|
返回顶楼 | |
发表时间:2007-09-01
说的有道理.一般类型的都可以处理.最好也是返回一个"处理好的"POJO(处理好..有点渗入业务代码的味道)
不过想返回一个业务需要的POJO试想下是否可能实现? 比如: 用户:User public class User{ private Integer userID; private String userName; private Sex sex; private Folk folk; private Degree degree; } Excel给出如下: 用户名称 性 别 民 族 学 历 xxx 男性 汉 大学 难道也要将Sex等数据也处理好? |
|
返回顶楼 | |
发表时间:2007-09-03
我在应用中碰到的情况一般通过excel读入的都是需要持久化的数据。而excel中数据一般只是po的一部分。而且涉及到导入到多张表的时候通过配置文件就比较麻烦了。
|
|
返回顶楼 | |
发表时间:2007-09-06
crossgrass 写道 我在应用中碰到的情况一般通过excel读入的都是需要持久化的数据。而excel中数据一般只是po的一部分。而且涉及到导入到多张表的时候通过配置文件就比较麻烦了。
这里不太明白您说的麻烦是什么意思?能具体说下需求吗?po的一部分就只需取excel对应列的数据就ok了,多表掺杂起来也不会影响处理难度的哦。您能给下您的具体excel模板与pojo类看下? |
|
返回顶楼 | |
发表时间:2007-09-06
发现这个题目的资料不是很多,多是excel读写或者转换成xml的内容,问下各位大牛,google这个项目相关的英文资料该搜什么关键词?
|
|
返回顶楼 | |
发表时间:2007-09-07
有没有处理复杂的EXCEL的解决方法呢?
我的工作中经常要解析EXCEL文档,分大格和小格 |
|
返回顶楼 | |
发表时间:2007-09-07
性别这一列是user的一个对象.像这种的就不可能封入到PO中直接用了.但是如果此列中的数据是性别的ID.就应该能解决了. 在配置文件中置配
xml 代码
可惜.用户是不可能也不想知道性别的ID的.所以此方法基本不可行 |
|
返回顶楼 | |
发表时间:2007-09-07
用XML来做模板 做一个通用类 来导出EXCEL 我用C#做了一个
<?xml version="1.0" encoding="utf-8" ?> <report> <page> <!-- 页面设置 --> <add key="cols" value="1" /> <add key="1" tmn="1.2" bmn="1.2" lmn="1" rmn="1" hmn="0" lhr="" chr="" rhr="" fmn="0" lfr="" cfr="" rfr="" prno="0" bds="0" prs="33" pcs="7" /> </page> <titile> <!-- 标题 --> <add key="cols" value="1" /> <add key="1" txt="旬 总 表" font="宋体" size="20" bold="1" rows="1" col1="1" col2="7" width="0" height="90" bds="0" align="2" valign="2" /> </titile> <brow> <!-- 表眉 --> <add key="cols" value="2" font="黑体" size="11" bold="0" rows="1" /> <add key="1" txt="年 份:" font="黑体" size="11" bold="0" rows="1" col1="1" col2="6" width="0" height="20" align="2" valign="1" tbr="0" bbr="0" lbr="0" rbr="0" field="yf" fadd="0" rowadd="0" /> <add key="2" txt="" font="宋体" size="11" bold="0" rows="1" col1="7" col2="7" width="0" height="20" align="2" valign="3" tbr="0" bbr="0" lbr="0" rbr="0" field="#pageno" fadd="0" rowadd="0" /> </brow> <head> <!-- 表头 --> <!-- rows 表示行数 --> <add key="cols" value="7" font="黑体" size="11" bold="0" rows="1" /> <add key="1" txt="票据类型" font="黑体" size="11" bold="0" rows="1" col1="1" col2="1" width="0" height="20" align="2" valign="2" tbr="1" bbr="1" lbr="1" rbr="1" field="" fadd="0" rowadd="0" /> <add key="2" txt="期初结存份数" font="黑体" size="11" bold="0" rows="1" col1="2" col2="2" width="0" height="20" align="2" valign="2" tbr="1" bbr="1" lbr="1" rbr="1" field="" fadd="0" rowadd="0" /> <add key="3" txt="本旬领入份数" font="黑体" size="11" bold="0" rows="1" col1="3" col2="3" width="0" height="20" align="2" valign="2" tbr="1" bbr="1" lbr="1" rbr="1" field="" fadd="0" rowadd="0" /> <add key="4" txt="本旬核销份数" font="黑体" size="11" bold="0" rows="1" col1="4" col2="4" width="0" height="20" align="2" valign="2" tbr="1" bbr="1" lbr="1" rbr="1" field="" fadd="0" rowadd="0" /> <add key="5" txt="本旬核销废票" font="黑体" size="11" bold="0" rows="1" col1="5" col2="5" width="0" height="20" align="2" valign="2" tbr="1" bbr="0" lbr="1" rbr="1" field="" fadd="0" rowadd="0" /> <add key="6" txt="本旬核销金额" font="黑体" size="11" bold="0" rows="1" col1="6" col2="6" width="0" height="20" align="2" valign="2" tbr="1" bbr="1" lbr="1" rbr="1" field="" fadd="0" rowadd="0" /> <add key="7" txt="期末结存份数" font="黑体" size="11" bold="0" rows="1" col1="7" col2="7" width="0" height="20" align="2" valign="2" tbr="1" bbr="1" lbr="1" rbr="1" field="" fadd="0" rowadd="0" /> </head> <data> <!-- 数据区 --> <add key="cols" value="7" font="宋体" size="11" bold="0" tbr="1" bbr="1" lbr="1" rbr="1" border="1" height="20"/> <add key="1" txt="" font="宋体" size="11" bold="0" rows="1" col1="1" col2="1" width="13" height="20" align="2" valign="1" tbr="1" bbr="1" lbr="1" rbr="1" field="Shty" fadd="0" rowadd="0" /> <add key="2" txt="" font="宋体" size="11" bold="0" rows="1" col1="2" col2="2" width="12" height="20" align="2" valign="3" tbr="1" bbr="1" lbr="1" rbr="1" field="GetBe" fadd="0" rowadd="0" /> <add key="3" txt="" font="宋体" size="11" bold="0" rows="1" col1="3" col2="3" width="12" height="20" align="2" valign="3" tbr="1" bbr="1" lbr="1" rbr="1" field="GetEn" fadd="0" rowadd="0" /> <add key="4" txt="" font="宋体" size="11" bold="0" rows="1" col1="4" col2="4" width="12" height="20" align="2" valign="3" tbr="1" bbr="1" lbr="1" rbr="1" field="UseBe" fadd="0" rowadd="0" /> <add key="5" txt="" font="宋体" size="11" bold="0" rows="1" col1="5" col2="5" width="12" height="20" align="2" valign="3" tbr="1" bbr="1" lbr="1" rbr="1" field="UseEn" fadd="0" rowadd="0" /> <add key="6" txt="" font="宋体" size="11" bold="0" rows="1" col1="6" col2="6" width="12" height="20" align="2" valign="3" tbr="1" bbr="1" lbr="1" rbr="1" field="TotBe" fadd="0" rowadd="0" /> <add key="7" txt="" font="宋体" size="11" bold="0" rows="1" col1="7" col2="7" width="12" height="20" align="2" valign="3" tbr="1" bbr="1" lbr="1" rbr="1" field="TotEn" fadd="0" rowadd="0" /> </data> <foot> <!-- 表脚 --> <add key="cols" value="3" font="黑体" size="11" bold="0" rows="1" /> <add key="1" txt="负责人:" font="黑体" size="11" bold="0" rows="1" col1="1" col2="2" width="0" height="20" align="2" valign="1" tbr="0" bbr="0" lbr="0" rbr="0" field="fzr" fadd="0" rowadd="0" /> <add key="2" txt="审 核:" font="黑体" size="11" bold="0" rows="1" col1="3" col2="4" width="0" height="20" align="2" valign="1" tbr="0" bbr="0" lbr="0" rbr="0" field="shr" fadd="0" rowadd="0" /> <add key="3" txt="制表人:" font="黑体" size="11" bold="0" rows="1" col1="5" col2="7" width="0" height="20" align="2" valign="1" tbr="0" bbr="0" lbr="0" rbr="0" field="zbr" fadd="0" rowadd="0" /> </foot> </report> |
|
返回顶楼 | |
发表时间:2007-09-07
xml 代码
这里的性别您自己又定义了一个Sex类?性别不应该是user的一个属性吗?为什么又单独定义一个类?如果是user的属性的话,读取出来的是string类型这里加一个判断,转换下塞给user类不就ok了? 楼上的c#代码??没太看明白,但好像您没有看明白我们讨论的问题。 ============================= 大家觉得通用性的通过xml配置文件处理Excel文件有实际应用价值吗?会不会太简单而没研究价值?查了好多paper,国内似乎真没这个方面的,是太过简单还是不值得发? Tks all |
|
返回顶楼 | |
发表时间:2007-09-07
因为user中sex是一个性别对象,从Excel中得到的只是sex.name....需要转为sex对象后才可以直接用.否则得到的集合还是需要进行转换的. 可以在读取Excel时进行处理.但有些时候处理这种问题通常有一个处理规则.也许这种规则很复杂. 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 上面的置配文件中.配了sex属性对应的对象.表名,主键.这样的话可以根据XXX_SEX和主键来查出对应类在放入对象. 如果Excel中性别这一列中数据为sex主键的话:) |
|
返回顶楼 | |