现在的位置: 首页 > 综合 > 正文

C# 导出EXCel报表

2014年04月05日 ⁄ 综合 ⁄ 共 746字 ⁄ 字号 评论关闭

         在一个项目中,基本都存在报表模块。辛辛苦苦做一个项目,经历各种困难,最终只求一个结果。报表采用的方式多多,在我的工作中多用水晶或者office。
前几天在接手别人的工作后,发现其在写导出EXCEL时非常慢而且代码很复杂,长达上千行。加之需要不定期维护,乃变成了一个坑,故删掉重写。
         前提条件:报表采用HTML的Table表格式堆写成的一个巨大字符串,标准HTMl格式
         偷懒办法:用复制粘贴的方式将数据写入到报表中。先将字符串拷贝到系统剪贴板,然后调用EXCEl工作薄的Paste方法粘贴即可。代码如下。
         引入EXCel的模块dll。

               

 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
                object o = Type.Missing;
                excel.Application.Workbooks.Add(true);
                excel.Visible = false;
                excel.DisplayAlerts = false;
                Workbook pBook = excel.Workbooks[1];
                Worksheet pSheet = pBook.Worksheets[1] as Worksheet;
//m_InnerText 报表字符串
                Clipboard.SetText(m_InnerText, TextDataFormat.UnicodeText);
                pSheet.Paste(o, o);
                Clipboard.Clear();
                pBook.Save();
                excel.Save(sfd.FileName);
                excel.Quit();
                excel = null;

抱歉!评论已关闭.