/// <summary>
         /// 导出Excel
         /// </summary>
         /// <param name="mydgv">控件 DataGridView </param>
         /// <param name="dic">中英文对照的标题 </param>
         public static void ExportTasks(DataGridView mydgv, Dictionary <string, string> dic)
         {
             // 定义要使用的Excel 组件接口
             // 定义Application 对象,此对象表示整个Excel 程序
             Microsoft.Office.Interop.Excel.Application excelApp = null;
             // 定义Workbook对象,此对象代表工作薄
             Microsoft.Office.Interop.Excel.Workbook workBook;
             // 定义Worksheet 对象,此对象表示Execel 中的一张工作表
             Microsoft.Office.Interop.Excel.Worksheet ws = null;
             //定义Range对象,此对象代表单元格区域
             Microsoft.Office.Interop.Excel.Range range;

             ;
             ; ;

             int rowcount = mydgv.Rows.Count;
             int colcount = mydgv.Columns.Count;
             int dispcolcount = dic.Count;
             try
             {
                 //初始化 Application 对象 excelApp
                 excelApp = new Microsoft.Office.Interop.Excel.Application();
                 //在工作薄的第一个工作表上创建任务列表
                 workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
                 ws = (Worksheet)workBook.Worksheets[];

                 // 命名工作表的名称为
                 ws.Name = "Sheet1";
                 //创建缓存
                 Object[,] objdata = , colcount];
                 //创建标题
                 foreach (string s in dic.Keys)
                 {
                     objdata[rowindex, colindex++] = dic[s].ToString();
                 }
                 //获取数据
                 ; i < rowcount; i++)
                 {
                     dcell = ;
                     foreach (string ss in dic.Keys)
                     {
                         ; j < colcount; j++)
                         {
                             if (mydgv.Columns[j].Name == ss)
                             {
                                 objdata[i + , dcell++] = mydgv.Rows[i].Cells[j].FormattedValue.ToString(); //得到样式之后的值
                             }
                         }
                     }
                 }
                 //写入Excel
                 range = ws.get_Range(excelApp.Cells[, ], excelApp.Cells[rowcount, dispcolcount]);
                 range.Value2 = objdata;
                 System.Windows.Forms.Application.DoEvents();
                 //设置格式
                 excelApp.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlLeft; //全局左对齐
                 excelApp.Cells.EntireColumn.AutoFit();
                 range = ws.get_Range(excelApp.Cells[, ], excelApp.Cells[, colcount]);
                 range.Font.Bold = true; //标题粗体
                 //显示 Excel
                 excelApp.Visible = true;

             }
             catch (Exception ex)
             {
                 throw ex;
             } 

datagridview数据导出到excel的更多相关文章

  1. 学习笔记 DataGridView数据导出为Excel

    DataGridView数据导出为Excel   怎样把WinForm下的“DGV”里的绑定数据库后的数据导出到Excel中. 比如:在窗体里有个一“DGV”,DataGridView1,绑定了数据源 ...

  2. vb.net-三种将datagridview数据导出为excel文件的函数

    第一种方法较慢,但是数据格式都比较好,需要引用excel的 Microsoft.Office.Interop.Excel.dll  office.dll #Region "导出excel函数 ...

  3. Asp.net网页中DataGridView数据导出到Excel

    经过上网找资料,终于找到一种可以直接将GridView中数据导出到Excel文件的方法,归纳方法如下: 1. 注:其中的字符集格式若改为“GB2312”,导出的部分数据可能为乱码: 导出之前需要关闭分 ...

  4. 如何使用 Excel 对象将 DataGridView 数据导出到 Excel

    转载出处:https://code.msdn.microsoft.com/How-to-insert-image-into-93964561 本项目阐述如何使用 Open XML SDK 将图像插入到 ...

  5. 将Datagridview中的数据导出至Excel中

        首先添加一个模块ImportToExcel,并添加引用         然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...

  6. 将C1Chart数据导出到Excel

    大多数情况下,当我们说将图表导出到Excel时,意思是将Chart当成图片导出到Excel中.如果是这样,你可以参考帮助文档中保存和导出C1Chart章节. 不过,也有另一种情况,当你想把图表中的数据 ...

  7. 数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm

    using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; ...

  8. 数据导出到Excel中

    自己修改后的一个数据导出到Excel的方法,粘出来与大家共享. 只需要将             System.Web.HttpContext.Current.Response.Charset =   ...

  9. asp.net将数据导出到excel

    本次应用datatable导出,若用gridview(假设gridview设为了分页显示)会出现只导出当前页的情况. protected void btnPrn_Click(object sender ...

随机推荐

  1. js中formData的使用

    FormData 对象的使用 https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects http ...

  2. jQuery 语法(一)

    通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行“操作”(actions). jQuery 语法实例 $(this).hide() 演示 jQuery hide() 函 ...

  3. makefile之findstring函数

    #$(findstring <find>,<in> ) #功能:在字串<in>中查找<find>字串. #返回:如果找到,那么返回<find> ...

  4. CSU 1335: 高桥和低桥 (二分查找,树状数组)

    Description 有个脑筋急转弯是这样的:有距离很近的一高一低两座桥,两次洪水之后高桥被淹了两次,低桥却只被淹了一次,为什么?答案是:因为低桥太低了,第一次洪水退去之后水位依然在低桥之上,所以不 ...

  5. 利用JMX统计远程JAVA进程的CPU和Memory

    http://songzi0206.iteye.com/blog/1541636 ******************** 从JAVA 5开始,JDK提供了一些JVM检测的API,这就是有名的java ...

  6. Powershell分支条件

    Where-Object 进行条件判断很方便,如果在判断后执行很多代码可以使用IF-ELSEIF-ELSE语句.语句模板: If(条件满足){如果条件满足就执行代码}Else{如果条件不满足}条件判断 ...

  7. linux学习笔记18---目录结构

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统至关重要,下面 ...

  8. Prerender Application Level Middleware - ASP.NET HttpModule

    In the previous post Use Prerender to improve AngularJS SEO, I have explained different solutions at ...

  9. C++ 类的多态二(函数重载--函数重写--函数重定义)

    //函数重载--函数重写--函数重定义 #include<iostream> using namespace std; /* 函数重载: 必须在一个类中进行(子类无法重载父类中的函数) 子 ...

  10. 腾讯课堂1:使用Jmeter内置的录制功能进行录制

    1.设置http代理服务器 打开火狐——点击选项——高级——网络——设置  设置完成点击确定 2.查看端口是否被占用的命令 netstat -ano 3.排除模式 .*\.gif .*\.css .* ...