回 帖 发 新 帖 刷新版面

主题:[原创]将报表生成Excel的讨论

将报表生成EXCEL是几乎所有用户都需要的功能,也是几乎所有报表工具都拥有的功能,这一点,似乎没什么可研讨的。
    其实不然,虽然所有产品均可以生成EXCEL,但各自的EXCEL未必一样,并不是总能满足用户的需求。
 
    采用控件拖拽式编辑方案的报表工具在业内非常常见,这类产品的展现模型与EXCEL完全不同,导致生成的EXCEL有一些普遍的毛病。
    做得精细些的能够保持住报表的格式及报表中的所有数据。生成的EXCEL质量严重依赖于报表绘制时的对齐程度,由于规则不同,它只能按控件边框的最细粒度作为EXCEL的格式生成,然后再根据需要做合并格,绘制时稍有不齐的格线在生成EXCEL时会变成多行或多列,一个不大的表可能被弄成几十列甚至上百列,除了直接打印外,基本上很难有进一步利用价值。
    做得粗糙些的则会丧失掉报表的格式而只保留数据,也就是绘制好的表头经常不存在了(只有数据列头),数据也常常只有原始的数据列,附加的计算列一般不会被导出,分组信息也没有了,定义的各种字体、颜色及显示风格统统没有了。其实说白了就是把原始二维表数据弄成读到EXCEL里显示而已,和报表的样式没什么关系。这样的EXCEL和文本文件并没什么差别(其实生成以TAB隔开的文本也可用EXCEL打开,效果一样)。
 
    除了表样格式和数据外,还有些别的注意事项。如大多数产品不能将报表中的统计图一并导出(类似的还是报表中的斜线也不能带出),也不能附带出报表的打印设置(纸张大张、打印方向、页边距等)需要在生成的EXCEL中重新设置,未对数据类型处理使得较长的数在EXCEL中显示成科学计数法,...。
    在报表工具中看到的报表和生成出的EXCEL经常相差很大,并非厂商宣称了能生成就算过关了,虽然确实都能生成,但能生成成什么样子还是要仔细考察的。

回复列表 (共2个回复)

沙发

FineReport生成的文件,在到导出到EXCEL时,除了能够保证数据,内容等不失真,在颜色,边框,等细节方面也有很出色的表现。
•  单元格的命名 
    FineReport的单元格命名规则与Excel中是完全一致的,即单元格是用单元格在横、纵向所处的位置来命名的。因此在导出Excel时,不会产生任何的不对应问题。 
    •  单元格的基本属性 
    FineReport导出到Excel时,特别注意到保证包括单元格中数据的字体、大小、颜色、边框、前景色、背景色等等,整行、整列、整表修改编辑风格。其它同类产品在导出Excel时都无法做到不丢色,而FineReport则极好的解决了这个问题。 
    •  单元格内容的编辑 
    FineReport完全兼容Excel的公式,公式的写法与Excel一致,如“=sum(A3+B5 )”。插入、删除行列时,表达式也可以自动变换,无须手工修改。 另外,在编辑公式时,还可以设定导出到Excel时是否保留公式,即选择导出计算的结果值,或者直接导出公式,将公式留给Excel计算。
    •  提供的函数 
提供大量常用函数,并留有接口以便于添加用户自己的函数。
[url=http://www.finereport.com]http://www.finereport.com[/url]

板凳

Excel支持的颜色只有255色,除非楼主的产品也只支持255,否则导入到Excel颜色必然丢失。[url=http://www.eclipse.org]BIRT[/url]集成在Eclipse很方便、[url=http://www.quiee.com.cn]快逸[/url]用Excel设计有免费版。

我来回复

您尚未登录,请登录后再回复。点此登录或注册