关于POI生成EXCEL合并单元格、从数据库读取数据到页面上显示合并TD的总结
2013-05-17 16:54
246 查看
最近一直在做导入导出功能,涉及到EXCEL的生成,页面表格的生成等等。
首先,批量导入EXCEL的数据的概念要先理解。导入,要导入到页面上,让用户可以看到自己的数据,同时后台也要解析,保存到数据库。这就分两步。第一步显示到页面上。我是用StringBuffer,直接APPEND tr td,然后通过STRUTS2的SET GET方法可以让前台得到,前台直接EL表达式取值就可以显示。也可以放到request域。关键是表格的合并。拼接StringBuffer在页面上显示要合并表格TD比较简单,我们需要一个隐藏行,用于存储要判断的ID,判断当前是否等于下一个,相等则变量自增,变量就是用来判断合并几个TD的变量。如果不等于下一个,则根据变量大小,生成TD,跨度为TD的大小。而POI方式比较麻烦一点。我的方法是首先把所有的数据都列出来,先不合并。然后,判断已经生成了几个单元格(因为生成单元格要输入生成该行的第几个单元格,所以有个变量存储),还要判断合并的长度。所以是多了一个变量。生成完所有格子,依次判断当前格是否等于下一格,来定义合并区域。大概就是这个样子。
首先,批量导入EXCEL的数据的概念要先理解。导入,要导入到页面上,让用户可以看到自己的数据,同时后台也要解析,保存到数据库。这就分两步。第一步显示到页面上。我是用StringBuffer,直接APPEND tr td,然后通过STRUTS2的SET GET方法可以让前台得到,前台直接EL表达式取值就可以显示。也可以放到request域。关键是表格的合并。拼接StringBuffer在页面上显示要合并表格TD比较简单,我们需要一个隐藏行,用于存储要判断的ID,判断当前是否等于下一个,相等则变量自增,变量就是用来判断合并几个TD的变量。如果不等于下一个,则根据变量大小,生成TD,跨度为TD的大小。而POI方式比较麻烦一点。我的方法是首先把所有的数据都列出来,先不合并。然后,判断已经生成了几个单元格(因为生成单元格要输入生成该行的第几个单元格,所以有个变量存储),还要判断合并的长度。所以是多了一个变量。生成完所有格子,依次判断当前格是否等于下一格,来定义合并区域。大概就是这个样子。
相关文章推荐
- 关于“Asp.net 中后台CS读取数据库数据生成数组传递给前台页面JS使用”
- 关于后台读取数据显示到页面
- asp数据转换为xml格式存入数据库 ,又从库中读取xml显示到页面
- ASP.net 从数据库中读取html格式的数据并显示在页面中
- Echarts-Struts2+Spring+Mybnatis+Jquery+Json在页面显示数据(数据从数据库读取)
- 读取数据库中数据,在页面上直接显示图片(点击该图片变大)
- 救命呀!关于从数据库读取Word文档(BLOB)在JSP页面显示
- 将图片保存到ORACEL数据库和读取数据显示到页面
- 请问如何在Web页面中点击一个button之后,用jsp从数据库中读取数据显示到表格里
- 从数据库读取数据。在页面用表格显示,并实现隔行换色
- ALchemy学习-从mysql数据库读取数据显示到页面
- ajax 数据库中随机读取5条数据动态在页面中刷新
- SpringMVC从数据库中读取图片显示到JSP页面上
- c# 在datagridview中添加comboboxcolumn 绑定数据库读取显示数据
- 关于jqgrid生成表单无数据时的显示。它本身的样式是会在右下角显示无数据显示,能不能让它和qq邮箱一样
- 关于数据库取数据并显示到html:select的很难描述的问题
- MS CRM2011 关于从数据库读取时间并在前台用JS显示时,时间转换的问题
- java关于读取数据后简单写入一个文件中的总结
- MES操作数据库后数据显示的一点小问题,关于DataView的rowfilter
- 如何打开jsp页面时经过action从数据库取得数据显示在页面上