论坛首页 Java企业应用论坛

将树节点以列方式导出EXCEL

浏览 10653 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-09-30   最后修改:2011-09-30

将树节点:

保存在数据库中是以id,parentid,name...方式存储的
现在要将上面的节点导成如下的EXCEL形式:

请教GAO高SHOU手指点一二,非常感谢...(最好有代码例子。。。)

 

   发表时间:2011-09-30  
代码没有~思路是这样
从数据库取出所有parentId为NULL的数据,那是顶级数据,然后放到Excel第一列。。然后遍历一次一次取子数据。。。放到下一列,应该是递归的求吧,直到没有子数据为止。。多想想,别一上来就要代码,那还写什么程序。。
0 请登录后投票
   发表时间:2011-09-30  
Jclick 写道
代码没有~思路是这样
从数据库取出所有parentId为NULL的数据,那是顶级数据,然后放到Excel第一列。。然后遍历一次一次取子数据。。。放到下一列,应该是递归的求吧,直到没有子数据为止。。多想想,别一上来就要代码,那还写什么程序。。

倒塌,我不是说要得到那些节点,那些节点我已经可以得到了,我问的是怎么把那些得到的节点数据按上面的EXCEL格式导出来。。。
0 请登录后投票
   发表时间:2011-09-30  
递归遍历所有叶子节点,并得到其path,第一次打印完整路径,其后路径全设为空,打印.
0 请登录后投票
   发表时间:2011-09-30  
sdnasky 写道
递归遍历所有叶子节点,并得到其path,第一次打印完整路径,其后路径全设为空,打印.

说起来都挺容易的,来点代码吧?无代码无真相。。。
0 请登录后投票
   发表时间:2011-09-30  
朋友,直接要代码的确不是好习惯!这样无法得到提高。

1、如果一定需要直接生成excel文件,那么需要用相应的工具包提供直接操作excel的功能

2、如果可以手动操作,那么可以先制作可以让 excel 导入的csv等文件

3、剩下就是需要按照你的规则案例生成 相应的字符串,拼接就是了
0 请登录后投票
   发表时间:2011-09-30  
简单的一毛。
0 请登录后投票
   发表时间:2011-09-30  
用递归查询,每个level用一个字段表示
0 请登录后投票
   发表时间:2011-09-30  
这不是明显的,一个单位格跨多行的问题吗?
0 请登录后投票
   发表时间:2011-10-01  
freezing 写道
这不是明显的,一个单位格跨多行的问题吗?


对,其实难点就在这里,得到一个单元格的高度是首要问题。 写入Excel文件倒是没有难度,在iteye上搜索“生成excel”或者“导出Excel”,结果应该有一大把。

在你的树节点对应的类上加一个属性,来描述该节点的“高度”(在生成的excel中该节点所跨越的行数),比如说height。叶子节点的高度为1,非叶子节点的高度为其下面所有叶子节点高度的和。

你这个情况还稍微有点特殊,二级节点的高度(比如“增加二”)的高度是其下面子节点高度的最大值。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics