首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

ExcelToHtmlTable变换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)

2013-10-06 
ExcelToHtmlTable转换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)功能概述 Excel2Html

ExcelToHtmlTable转换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)

功能概述

Excel2HtmlTable的主要功能就是把Excel的内容以表格的方式,展现在页面中。
Excel的多个Sheet对应页面的多个Tab选项卡。
转换算法的难点在于,如何处理行列合并,将Excel的行列合并模型转换成Html表格的行列合并模型。

背景故事

因实际需要,需要将Excel展现在Web界面中。

最初,想在网上找开源的东东,结果没有1个是想要的。有的特别复杂,有的只能在Windows平台,需要闭源的dll,最终还是得靠自己。

人不逼迫自己,真是想偷懒,不能出成果。

要是不是自己实现一次,根本不能发现和解决一系列问题。

最重要的经验就是:要努力克服自己的畏难情绪,不能怕麻烦。

 

CSDN下载地址(免积分):http://download.csdn.net/download/fansunion/6352759

相关截图

ExcelToHtmlTable变换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)

ExcelToHtmlTable变换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)

ExcelToHtmlTable变换算法:将Excel转换成Html表格并展示(项目源码+详细注释+项目截图)

下载包内容

Excel2HtmlTable.zip:项目源码,1个完整的Eclipse项目,直接导入,Tomcat需要7.0。

Excel2HtmlTable效果图.gif:Excel模版对应的Html表格

Excel模版.gif:Excel模版内容

项目结构.gif:项目的结构

包和类说明

程序包 cn.fansunion.excel2html
程序包 cn.fansunion.excel2html.model
类说明程序包 cn.fansunion.excel2html.util

 
类说明 // 获得模版 XSSFWorkbook dataWorkbook = getTemplateWorkbook(); // 构造展示模型数据 List<TableModel> tableModelList = buildTableModelList(dataWorkbook); //构造最终展示需要的数据模型 DisplayDataModel model = new DisplayDataModel(); model.setTableModelList(tableModelList); //构造和发送JSON格式的数据 String beanToJSON = JsonUtils.beanToJSON(model); ResponseUtils.setResponseHeaders(response); ResponseUtils.sendJSONData(response, beanToJSON); // 获得Excel模版 private XSSFWorkbook getTemplateWorkbook() throws FileNotFoundException, IOException, InvalidFormatException { XSSFWorkbook workbook = TemplateLoader.buildSimpleWorkbook(); return workbook; } // 构造数据模型,在界面展示 private List<TableModel> buildTableModelList(XSSFWorkbook dataWorkbook) { ExcelToHtmlTable excelToHtmlTable = new ExcelToHtmlTable(dataWorkbook); //init方法的思路,就是遍历Excel的每一个sheet、每一行、每一列,根据Excel的行列合并结构生成Html对应的行列合并结构 excelToHtmlTable.init(); List<TableModel> tableModelList = excelToHtmlTable.getTableModelList(); return tableModelList; }


更多信息请参考项目源码。

特别说明

如果没有详细的注释,代码很难维护的。

主要是很多代码是处理Excel单元格的null和空字符串等,每一种数据类型,每一种情况,都需要很好地处理。

测试的时候,需要很多种不同风格内容的Excel。

另外,这个项目是我花了4个小时的时间,单独从项目中抽取出来的,有些地方的命名可能有点奇怪。

如果想完全理解这个算法,除了自己认真研究源码外,没有其它的方法,不要指望作者本人一点点地讲解清晰。

下一步计划

将这个算法,封装成为一个单独的Jar包。

今后,如果有需要,直接加入jar包,调用API就好了。

一个开发人员在实践中,一定要逐步积累可复用的方法、类、组件,如果每次都重新编码,实现重复的功能,只能当码农。

如何运行本程序

上次写了8小时前 1楼 lz难道不知道excel有webapp吗?另外,找个wysiwyg的html编辑器,直接粘贴复制可行吗?  http://FansUnion.cn/articles/2634

2楼QIAOYONGLU昨天 19:41
不错!加油!
Re: FansUnion昨天 19:42
回复QIAOYONGLUn刚刚看了下你的博客,怎么没有 名字和说明呢?
Re: FansUnion昨天 19:43
回复QIAOYONGLUn多谢支持 (*^__^*)
1楼FansUnion前天 10:51
国庆节出门就是一个巨大的坑。n好多宾馆人满了,价格是平时的2倍。n要不是某人的帮助,说不定要露宿街头了。nn幸运的是,今天成功发表了这篇文章。n国庆节,连续4天发表文章,再接再厉,争取连续7天。n(*^__^*)

热点排行