neuhawk

博客园 首页 新随笔 联系 订阅 管理
    报表,一直是我们做企业信息化最头疼的问题,.net开源报表非常少,也不见得怎么成熟,至于商业的水晶报表等(偶不喜欢用破解),太贵,买不起,现在行业软件价格越来越低,能省则省了.我们现在报表有3个方案 :
1 直接用reportview的localreport模式,
2服务端打开office文件,然后填充数据
3,利用javascript+Excel.Application启动客户端excel(可直接打印).

     这三个方案都同时在用,然而 reportview功能还是比较有限(导出文件有些问题),而服务端打开office文件需要启动excek进程,太占用服务了吧.个人认为用excel做报表非常强大,用类似于模板语言来设置报表模板(如velocity,freemake),还是很好用的.


     微软Open XML格式被批准成为国际标准,我们是否可以用Openxml来更好的实现报表呢.那么应该解决3个问题

1,不用启动office进程也能访问文档对象(而非xml,毕竟直接操作xml太复杂了),这样服务器占用资源的问题就解决了。
2,可以在web上直接打开报表,同时也可以用office打开,毕竟很多企业领导还是喜欢在web上直接打开报表,不需要打开office.

3,office 2000, office 2003能打开openxml文件.

对于第一点,可以到http://www.codeplex.com/OpenXMLObjects/Wiki/View.aspx?title=Samples
下载源码.这是一个开源的 Open XML Objects ,

using (WordProcessingMLDocument myDoc =
WordProcessingMLDocument.Open(
@"C:\myDoc.docx"))
{
Paragraph paragraph 
= myDoc.Body.Paragraphs.New();
paragraph.AddText(
"Hello World!");
myDoc.Save();
}



第二点,今天早上发现一篇好文 SpreadsheetML documents in a browser ,在web上打开
openxml文件,cool



第三点 请查看 如何打开Office 2007文档
这三个问题,已经解决,不过如果有小程序能直接阅读opemxml文件(如pdf reader),而不用下载昂贵的office就更好了。
    
  
posted on 2006-12-20 21:56  neuhawk  阅读(4162)  评论(9)    收藏  举报