/// <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. JUC组件扩展(一):FutureTask理解

    一.概述 FutureTask包装器是一种非常便利的机制,同时实现了Future和Runnable接口. 类图如下: FutureTask是一种可以取消的异步的计算任务.它的计算是通过Callable ...

  2. 点滴积累【C#】---序列化和反序列化

    序列化和反序列化效果图: 序列化和反序列化代码: 需要添加两个命名空间: using System.IO; using System.Runtime.Serialization.Formatters. ...

  3. maven添加额外archetype

    用Eclipse + m2e 插件新建maven项目时发现archetype太少了,网上搜索如何添加额外的archetype. http://maven.apache.org/archetype/ma ...

  4. 品茗论道说广播(Broadcast内部机制讲解)(上)

    1 概述 我们在编写Android程序时,常常会用到广播(Broadcast)机制.从易用性的角度来说,使用广播是非常简单的.不过,这个不是本文关心的重点,我们希望探索得再深入一点儿.我想,许多人也不 ...

  5. 0048 MyBatis动态SQL简易入门示例

    假如有如下的关于书籍基本信息的表: DROP DATABASE IF EXISTS `books`; CREATE DATABASE `books`; USE books; DROP TABLE IF ...

  6. python学习笔记3---浅拷贝和深拷贝,file操作

    import copy a=[1,2,3,['a','b']] b=a c= copy.copy(a)---浅拷贝 d=copy.deepcopy(a)---深拷贝 file操作: python 文件 ...

  7. PAT003 List Leaves

    题目: Given a tree, you are supposed to list all the leaves in the order of top down, and left to righ ...

  8. 【转】不用程序mysql也可以查询今天、昨天、7天、近30天、本月、上一月的数据

    今天   select * from 表名 where to_days(时间字段名) = to_days(now());   昨天 SELECT * FROM 表名 WHERE TO_DAYS( NO ...

  9. 左萧龙(LZ)个人博客

    网址(blog):http://www.cnblogs.com/zuoxiaolong/ 网站:http://www.zuoxiaolong.com/

  10. js 代码优化 (写的可以)

    Javascript是一门非常灵活的语言,我们可以随心所欲的书写各种风格的代码,不同风格的代码也必然也会导致执行效率的差异,开发过程中零零散散地接触到许多提高代码性能的方法,整理一下平时比较常见并且容 ...