用java的JTable实现类似Excel的报表控件(附三张效果截图)

最近在写这个报表控件,我罗列了一下已经完成的工作,基本上是照着Excel的功能来实现的此报表控件要求能在Applet及Swing运行以下为部分主要完成工作1. 单元格合并与拆分。2. 基于JTextArea的渲染器,用来实现多行输入。3. 由于采用JTextArea作为渲染器,导致文本只能向左对齐,后来通过重载JTextArea得以实现居中,居右,字体下划线等效果:)。4. 鼠标动态拉行高,拉行宽。5. 发现行数一多,导致性能下降很历害,所以实现了只刷新当前可视屏幕区域。6. 单元格属性的设定 >背景颜色 >前景颜色 >字体(大小,粗斜体,下划线,删除线) >对角线单元格(中国式报表) >边框线等7. 打印预览8. 打印9. 自己实现的打印设置对话框 >打印水印 >打印方向 >纸张页边距 >打印纸张页数范围 >打印份数 >打印时打印机的打印顺序 >设定打印的页眉和页脚 >放大打印或缩小打印 等10.往单元格加载图片,可预览和打印出来11.套打模式,在table显示标尺,并重置行高为1cm,行宽为2cm,以方便使用者对应套打纸张12.为单元格绘制边线13.查找和替换14.增加行和列,,删除行和列15.格式刷16.排序,升和降。可设定优先排序的形式,数值优先或着是中文优先,中文按照拼音排序17.考贝,复制和贴粘18.插入图表,目前只实现了柱状图表19.求和20.各种热键组合21.显示和隐藏table网格线等等功能目前在开发的功能导入与导出报表计划开发子报表我的文章基本是在写这个table时总结出来的实践经验,希望对读者有所启发。由于JTable本身的功能很少也很弱,网上有个开源针对JTable做了一些扩展实现我参考了里边单元格合并的例子,实际上这些例子表面上是OK,用起来却不OK。举个例子吧,如果改变了任意一行行高,则例子中的合并马上OVER,所以不要迷信这些东西,什么事都要亲自试一下,现在很多网友都用这些做为例子来对待,请停止这些行为吧,误导别人可不好。当然,不改变行高,每行都一样高,或许可以用一下。但我一试增加一行。。。我靠,无语了。我的这个控件,用了它的思想而作了自己的实现。

软件截图

截图二

预览截图

版权声明:本文为博主原创文章,未经博主允许不得转载。

也就越容易失败,还不如怀揣一颗平常心,

用java的JTable实现类似Excel的报表控件(附三张效果截图)

相关文章:

你感兴趣的文章:

标签云: