DataTable to excel

转载 2015年11月19日 08:47:57
        /// <summary>
        /// DataTable直接导出Excel,此方法会把DataTable的数据用Excel打开,再自己手动去保存到确切的位置
        /// </summary>
        /// <param name="dt">要导出Excel的DataTable</param>
        /// <returns></returns>
        private bool DataTableToExcel(DataTable dt)
        {
            Excel.Application app = new Excel.Application();
            if (app == null)
            {
                throw new Exception("Excel无法启动");
            }
            app.Visible = true;
            Excel.Workbooks wbs = app.Workbooks;
            Excel.Workbook wb = wbs.Add(Type.Missing);
            Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];

            int cnt = dt.Rows.Count;
            int columncnt = dt.Columns.Count;

            // *****************获取数据********************
            object[,] objData = new Object[cnt + 1, columncnt];  // 创建缓存数据
            // 获取列标题
            for (int i = 0; i < columncnt; i++)
            {
                objData[0, i] = dt.Columns[i].ColumnName;
            }
            // 获取具体数据
            for (int i = 0; i < cnt; i++)
            {
                System.Data.DataRow dr = dt.Rows[i];
                for (int j = 0; j < columncnt; j++)
                {
                    objData[i + 1, j] = dr[j];
                }
            }

            //********************* 写入Excel******************
            Excel.Range r = ws.Range[app.Cells[1, 1], app.Cells[cnt + 1, columncnt]];
            r.NumberFormat = "@";
            //r = r.get_Resize(cnt+1, columncnt);
            r.Value2 = objData;
            r.EntireColumn.AutoFit();

            app = null;
            return true;
        }

相关文章推荐

导入Excel到DataTable中的两种实现

导入Excel到数据库中是一个常见的操作,这里采用两种实现,一种比较简洁,一种侧重效率。 这里说明一下:导入的Excel可以包含多个sheet,最终都导入到dataset的同一个table中。 一...
  • lmdcszh
  • lmdcszh
  • 2013年03月01日 10:51
  • 8962

C# DataTableToExcel的几种实现方式及遇到的问题

个人总结了几种常用DataTableToExcel的实现方式: 1.StreamWriter写入:缺点,数据类型只能为整数型如:007显示为7;优点,适合大量数据,速度快。 2.Microsoft...

DataTable to Excel File

  • 2011年01月22日 17:32
  • 1.2MB
  • 下载

DataTable TO Excel数据导出

Excel导入方法写入功能构建Ecxcel格式using NPOI.HPSF; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NP...

JsonHelper list datatable to json

  • 2012年08月24日 10:34
  • 2KB
  • 下载

Datatable导出成excel.doc

  • 2012年12月19日 19:46
  • 23KB
  • 下载

LINQ To DataTable

static DataTable dtable = new DataTable(); static DataColumn dc = new DataColumn(); static DataR...
  • ws_hgo
  • ws_hgo
  • 2011年10月11日 10:28
  • 12158

DataTable导出Excel

  • 2012年08月24日 11:39
  • 3KB
  • 下载

DataTable导出EXCEL

  • 2010年09月08日 23:49
  • 841KB
  • 下载

Linq to DataTable之动态分组

对一个DataTable的数据进行Group By,常规的做法只能在程序里预先指定分组的列,研究了一下自定义动态分组: using System; using System.Text; using ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataTable to excel
举报原因:
原因补充:

(最多只允许输入30个字)