/// <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. Navicat for MySQL再谈之无奈之下还是去安装Navicat Premium

    不多说,直接上干货! 首先,Navicat for MySQL没有查看数据库属性. 其次,没有这个功能多和强大,在走过一段弯路之后,果断放弃Navicat for MySQL,而使用Navicat P ...

  2. Json数组操作小记 及 JSON对象和字符串之间的相互转换

    [{"productid":"1","sortindex":"2"},{"productid":&q ...

  3. js 获取距离顶部的相对高度

    getTop (e) { var offset=e.offsetTop; if(e.offsetParent!=null) offset+=this.getTop(e.offsetParent); r ...

  4. PHP中的__call和__callStatic方法(未看完)

    如何防止调用不存在的方法而出错,使用__call魔术重载方法. __call方法原型如下: mixed __call(string $name,array $arguments) 当调用一个不可访问的 ...

  5. unity5, UGUI刺穿问题解法

    我希望在touch屏幕时player起跳,于是在playerControl.cs的Update函数中添加如下touch代码:  if (Input.GetMouseButtonDown (0)) {/ ...

  6. 【进程线程与同步】5.4 System.Threading.Interlocked 为多个线程共享的变量提供原子操作

    using System; using System.Threading; internal class Program { private static long _counter = 1; pri ...

  7. 点滴积累【JS】---JS小功能(列表页面隔行变色)

    效果: 代码: <head runat="server"> <title></title> <script type="text ...

  8. Error: Could not find or load main class org.apache.flume.tools.GetJavaProperty

    问题: [root@master conf]# flume-ng version Error: Could not find or load main class org.apache.flume.t ...

  9. Application Architecture Determines Application Performance

     Application Architecture Determines Application Performance Randy Stafford AppliCATion ARCHiTECTuR ...

  10. 安装Eclipse插件长时间卡在 calculating requirements and dependencies

    把"Contact all update sites during install to find required software"前面的勾去掉,然后点击下一步,这样之后问题迎 ...