●导出excel(office组件)

            string path1 = Server.MapPath(@"Muban/LKJSearch.xls");  //获取模板
            string filename = Session["Uid"].ToString() + DateTime.Now.ToString("yyyyMMddhhmmssms") + ".xls";  //命名临时文件名
            string path2 = Server.MapPath(@"Save/" + filename);  //临时文件路径
            File.Copy(path1, path2);  //复制模板创建临时文件

            MOIExcel.Application ea = new MOIExcel.ApplicationClass();
            ea.Visible = false;  //设置为不可见
            MOIExcel.Workbooks wbks = ea.Workbooks;

            try
            {
                MOIExcel._Workbook wbk = wbks.Open(path2, false);
                MOIExcel._Worksheet ws = (MOIExcel._Worksheet)wbk.Sheets.get_Item(1);  //获取第一个工作表,准备操作

                List<LKJSearch> listlkj = SearchLKJ();
                int m = 5;
                for (int i = 0; i < listlkj.Count; i++)
                {
                    List<Questions> lkjq = context.Questions.Where(p => p.Q_CheckNumber == listlkj[i].LKJ_Code).ToList();
                    if (lkjq.Count > 0)
                    {
                        for (int j = 0; j < lkjq.Count; j++)
                        {
                            ws.Cells[m, 1] = i + 1;  //向指定单元格填入数据
                            ws.Cells[m, 2] = ((DateTime)listlkj[i].LKJ_CheckTime).ToString("MM.dd");
                            //……

                            //边框
                            var rowall = ws.get_Range(ws.Cells[m, 1], ws.Cells[m, 13]);
                            rowall.Borders.LineStyle = MOIExcel.XlLineStyle.xlContinuous;
                        }
                    }
                }

                wbk.Save();  //保存
                Response.Redirect(@"~/Save/" + filename);  //导出
            }
            catch
            {
            }
            finally
            {
                wbks.Close();
                ea.Quit();
                ea = null;
            }

需要添加office的引用,并且引用命名空间

部署网站的时候,有些权限需要修改,这点比较麻烦,后来换用NPOI

时间: 2024-10-11 01:34:59

●导出excel(office组件)的相关文章

Office Com组件根据模板导出Excel

导出Excel最普遍的方式有两种,一种是使用Office Com组件,另一种是使用NPOI. 个人感觉Office Com组件功能更强大,操作Excel和设置样式等都非常方便,但它要求服务器上必须安装Office,而且受Office版本的影响.NPOI允许服务器上不安装Office,但是设置Office样式等,比Office Com组件要麻烦的多.具体使用那种要根据实际的项目来决定.本文简单列举Office Com组件一个应用小实例,NPOI的方式将在下一篇讲到. 1.添加对Microsoft.

office组件导出excel问题

传统企业的项目开发,采用技术都还比较陈旧,项目中涉及excel部分,采用office组件导出excel,进程采用强杀方式,涉及web服务器权限部分整合如下,均来自博客园. .NET导出Excel遇到的80070005错误的解决方法:   原文出处检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005基本上.net导出excel文件,都需要如此配置一下,不配置有的时候没错,而配置后基本

关于调用office com组件导出Excel

服务器环境: 环境为win2008 r2 系统为64位 ,程序是C#的winform.因为需要处理数据,最后生成Excel,耗时太长,就使用了多线程.winform程序是由计划任务启动,每天晚上去跑. 需求: 每日需要生成大量的Excel给用户,大约有1W+的Excel需要生产,原来使用的Aspose.Cells.dll生成的,但是发现总有很多Excel莫名其妙的不生成,也不报错.后来换成了office的Excel,解决了生成Excel的问题. 但是开发环境下是没问题,服务器上不好使. 下面是遇

Asp.net导出Excel续章(自定义合并单元格,非Office组件)

结合上次写的导出Excel方法,这次上头要求我将列头进行一下合并 以前的效果: 改进后的效果: 在上篇文章中写到了Excel的导出方法,这次为了避免在生产环境中使用Office组件,服务器各种权限配置的麻烦,这次就不使用Office组件来生成Excel了. 上篇文章:Asp.net导出Excel(HTML输出) 关键代码如下图: 说道这里,其实主要思路已经很明显了. 在数据绑定结束后,重新绘制表头替换掉原来的表头就行了. TableCell自定义表头的时候是table标签的,很方便. 另外发现了

ASP.NET导出Excel(利用NPOI和EPPlus库,无需安装Office)

网上提供了很多Asp.net中操作Excel的方法,其中大部分是调用微软的Office组件,下面提供三个无须安装Office即可从Asp.net输出Excel的方法. 1 简单方法 //下面代码输出的Excel有三列(姓名.年龄.性别)//列之间用\t隔开StringWriter sw = new StringWriter();sw.WriteLine("姓名\t年龄\t性别"); //Excel表格的列标题 sw.WriteLine("张三\t29\t男"); /

.NET编程实现采用COM组件导出Excel文件实例

将.NET数据导出为Excel文件,有许多种方法,我这里介绍采用COM组件来操作Excel文件,并且还会涉及异步.同步.进程管理.文件定位等内容,使用WPF做到一个尽量可用的导出界面. 一.WPF前台 这个就不用多说了,堆上几个按钮,做一个数据录入的东西,一个状态条: 我这里的数据录入,就是用了几个Textbox,实际上大家可以用任何东西(DataGrid.ListView等),因为在最后都会转成List<MyData>的形式进行导出的,MyData是表示数据记录的对象: 1 // 自定义数据

(C#)利用Aspose.Cells组件导入导出excel文件

Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: [csharp] view plain copy print? public static System.Data.DataTable ReadExcel(String strFileName) { Workbook book = new Workbook(); book.Open(strFileName); Worksheet sheet = book.Worksheets[0]; Cells cells = 

【转】 (C#)利用Aspose.Cells组件导入导出excel文件

Aspose.Cells组件可以不依赖excel来导入导出excel文件: 导入: public static System.Data.DataTable ReadExcel(String strFileName) { Workbook book = new Workbook(); book.Open(strFileName); Worksheet sheet = book.Worksheets[0]; Cells cells = sheet.Cells; return cells.Export

C#基于Office组件操作Excel

1.    内容简介 实现C#与Excel文件的交互操作,实现以下功能: a)     DataTable 导出到 Excel文件 b)     Model数据实体导出到 Excel文件[List<Model>] c)     导出数据到模版 d)     多DataTable导入到同一Excel文件 e)     对于第四项功能,常见的用途为:最后一行显示的是百分比,为字符型,而这列其它类型为数据型,如果放在同一个DataTable中,显然不合适.此操作类可实现 f)      5.将Exc

.NET使用NPOI组件将数据导出Excel

.NPOI官方网站:http://npoi.codeplex.com/ 可以到此网站上去下载最新的NPOI组件版本 2.NPOI在线学习教程(中文版): http://www.cnblogs.com/tonyqus/archive/2009/04/12/1434209.html 感谢Tony Qu分享出NPOI组件的使用方法 3..NET调用NPOI组件导入导出Excel的操作类 此NPOI操作类的优点如下:   (1)支持web及winform从DataTable导出到Excel:    (2