/// <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. C#:绘图问题

    1.设置DPI Bitmap bitmap2 = new Bitmap((int)w, (int)h); bitmap2.SetResolution(, ); 2.设置Graphic(如:去锯齿等) ...

  2. [课程设计]Scrum 2.2 多鱼点餐系统开发进度(下单页面修复&美化)

    [课程设计]Scrum 2.2 多鱼点餐系统开发进度  1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系统WEB ...

  3. UIDatePicker 日期/时间选取器(滚轮)—IOS开发

    UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样 ...

  4. Java-String类的常用方法总结

    一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建 ...

  5. [转](三)unity4.6Ugui中文教程文档-------概要-UGUI Basic Layout

    大家好,我是孙广东.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unityma ...

  6. Linux设置ssh无密码登陆

    最近在折腾Hadoop,要用到主机间无密码登陆,设置的时候遇到了一些问题,这里记录一下. 假设A需要无密码登陆B. 那么首先需要在A上使用ssh-keygen生成id_rsa.pub的公钥,生成时,一 ...

  7. Java开发中经典的小实例-(比较输入数值的最大值、最小值和平均值)

    //输入数字个数来产生数字并且比较大小 import java.util.Scanner;public class Test1 {     public static void main(String ...

  8. CSS3之尖角标签

    如图所示,Tag标签的制作通常使用背景图片,现在用CSS3代码就能实现尖角效果(需浏览器支持CSS3属性). 运用CSS3样式实现尖角标签,只需要写简单的HTML结构和CSS样式. <p> ...

  9. python 发送邮件实例

    留言板回复作者邮件提醒 -----------2016-5-11 15:03:58-- source:python发送邮件实例

  10. 学习mongo系列(四) find().pretty() remove() 查询

    一.find() 方法以非结构化的方式来显示所有文档.如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:db.collection_name.find().pretty ...