/// <summary>
/// 将DataTalbe导出到Excel中
/// </summary>
/// <param name="dt"></param>
/// <param name="ProjectName">生成的Excel的Sheet的名字</param>
/// <param name="filePath">保存的路径</param>
public static void Export(System.Data.DataTable dt, string filePath)
{
    if (dt == null)
    {
        throw new Exception("数据表中无数据");
    }
    int eRowIndex = 1;
    int eColIndex = 1;
    int cols = dt.Columns.Count;
    int rows = dt.Rows.Count;
    Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
    Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Add(true);
    try
    {
        //列名的处理
        for (int i = 0; i < cols; i++)
        {
            xlApp.Cells[eRowIndex, eColIndex] = dt.Columns[i].ColumnName;
            eColIndex++;
        }
        //列名加粗显示
        xlApp.get_Range(xlApp.Cells[eRowIndex, 1], xlApp.Cells[eRowIndex, cols]).Font.Bold = true;
        xlApp.get_Range(xlApp.Cells[eRowIndex, 1], xlApp.Cells[rows + 1, cols]).Font.Name = "Arial";
        xlApp.get_Range(xlApp.Cells[eRowIndex, 1], xlApp.Cells[rows + 1, cols]).Font.Size = "10";
        eRowIndex++;
 
        for (int i = 0; i < rows; i++)
        {
            eColIndex = 1;
            for (int j = 0; j < cols; j++)
            {
                xlApp.Cells[eRowIndex, eColIndex] = dt.Rows[i][j].ToString();
                eColIndex++;
            }
            eRowIndex++;
        }
        //控制单元格中的内容。
        xlApp.Cells.EntireColumn.AutoFit();
 
        xlApp.DisplayAlerts = false;
        xlBook.SaveCopyAs(filePath);
        xlApp.Workbooks.Close();
    }
    catch
    {
        throw;
    }
    finally
    {
        xlApp.Quit();
        //杀掉Excel进程。
        GC.Collect();
    }
}

注意:using Microsoft.Office.Interop.Excel;  VS2010 下 添加引用  COM选项中找Microsoft Office 12.0 Object Library  Microsoft Excel 14.0 Object Library

引用目录下出现Microsoft.Office.Core     Microsoft.Office.Interop.Excel

如果代码中出现  Excel.ApplicationClass()无法互嵌套操作类型 请改用适用的接口

把引用的Microsoft.Office.Interop.Excel 右击属性 嵌入互操作类型改为false即可

DataTable 导到Excel的更多相关文章

  1. DataTable导出到Excel

    简单的导出到Excel中: 代码如下: using System; using System.Collections.Generic; using System.Data; using System. ...

  2. 带复杂表头合并单元格的HtmlTable转换成DataTable并导出Excel

    步骤: 一.前台JS取HtmlTable数据,根据设定的分隔符把数据拼接起来 <!--导出Excel--> <script type="text/javascript&qu ...

  3. [转].net 使用NPOI或MyXls把DataTable导出到Excel

    本文转自:http://www.cnblogs.com/yongfa365/archive/2010/05/10/NPOI-MyXls-DataTable-To-Excel-From-Excel.ht ...

  4. DataTable导出到Excel(.NET 4.0)

    最近在论坛里又看到很多关于DataTable(DataSet)导入Excel的帖子,我也温故知新一下,用VS2010重新整理了一个Sample.这个问题简化一下就是内存数据到文件,也就是遍历赋值,只不 ...

  5. DataTable 导出到 Excel 类

    底层类: #region DataTable 导出到 Excel /// <summary> /// DataTable 导出到 Excel /// </summary> // ...

  6. sqlserver将数据库的数据导成excel文档方法

    sqlserver将数据库的数据导成excel文档方法 最近公司需要下载uniport的数据跟之前的数据进行对比,所以避免不了需要将数据库的数据导出来,把SQLServer表中的数据导出为Excel文 ...

  7. c# DataTable导出为excel

    /// <summary> /// 将DataTable导出为Excel文件(.xls) /// </summary> /// <param name="dt& ...

  8. 把 DataTable 输出到 excel 文件

    ''' <summary> ''' 把 DataTable 输出到 excel 文件 ''' </summary> ''' <param name="dt_da ...

  9. C# datatable 导出到Excel

    datatable导出到Excel /// <summary> /// 将DataTable导出为Excel文件(.xls) /// </summary> /// <pa ...

随机推荐

  1. 在xcode运行编译时,编译成功,但项目中显示缺少该文件,这是只要关闭重启xcode即可。

    在xcode运行编译时,编译成功,但项目中显示缺少该文件,这是只要关闭重启xcode即可.

  2. 同事的游戏项目--Robocode-学习链接

    Robocode机器人库学习链接:http://www.pudn.com/search_db.asp?keyword=Robocode 官网 :http://robocode.sourceforge. ...

  3. C语言回顾-运算符和循环

    1.运算符 连接操作数,构成表达式 按功能划分: 1)算术运算符 + - *  / % 2)关系运算符 3)逻辑运算符 4)按位运算符 按操作数划分: 1)单目运算符 2)双目运算符 3)三目运算符 ...

  4. Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:[张鸿洋的博客] 群里一哥们今天聊天偶然提到这个git ...

  5. [5] 智能指针boost::shared_ptr

    [1]boost::shared_ptr简介 boost::shared_ptr属于boost库,定义在namespace boost中,包含头文件#include<boost/shared_p ...

  6. 使用 supervisor 管理进程

    安装: # yum install python-setuptools # easy_install supervisor 如果已经安装了epel和python-pip, 也可以简单 pip inst ...

  7. Java判断访问设备为手机、微信、PC工具类

    package com.lwj.util; import javax.servlet.http.HttpServletRequest; /** * 判断访问设备为PC或者手机--工具类 * * @de ...

  8. 优秀Python学习资源收集汇总(强烈推荐)

    Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...

  9. 用jxl导出数据到excel

    需要jxl.jar 测试结果没问题,代码: package com; import java.io.File; import java.io.IOException; import java.util ...

  10. 改变Web Browser控件IE版本

    默认的webbrowser控件使用的渲染模式版本似乎是IE7,想要更改更高版本,如下: 在注册表位置 HKEY_CURRENT_USER\Software\Microsoft\Internet Exp ...