关于ASP.NET导出数据到EXCEL,保存、打开、直接打印的问题
报表很复杂,很大,如果要正常打的话,可能A3纸都打不下,而且报表格式极不规则。
现在向大家寻求解决方法,先说说我们这边的一个实际需求(情况):
1、这种报表我们是通过aspx页面呈现的,但是页面横向竖向都有很长的滚动条,
这样就导致直接打印页面不好打,所以只能另求他法。
2、要求可以直接打印报表,即在页面上放置一个“打印”按钮,能将报表直接打印出来(非直接打印页面的方式)
3、要求可以直接保存报表为excel文件,即在页面上放置一个“保存”按钮,点击后弹出对话框
在对话框中可以选择“打开”、“保存”,如果选择的是“打开”的话就直接打开,如果选择的是保存
就让用户选择保存位置,然后保存到本地。
目前我同事的做法是通过Microsoft.Office.Interop.Excel来实现的,每次打印报表的时候都在服务器开启
一个进程,然后在将数据输入到excel中,最后打印(直接打印,整个过程不出excel界面),但是打印完了
又关闭不了excel进程(需要在web.config中配置identity才能关闭)。
不知道大家有没有做过这方面的开发,或者说对此有所了解的,希望大家能帮帮忙,看看您有没有什么好的方式,
或者其他比较好的思路可以解决这个问题,不胜感激。
PS: 在操作excel的时候还要考虑版本的兼容性等问题。
还需要考虑的是把程序放在服务器上可能出现的其他(如权限设置等)问题。
如果有比较完整的参照代码更好。
谢谢!