Datatable导出到Execl中

来源:互联网 发布:如何分析大数据 编辑:程序博客网 时间:2024/05/29 03:33

列   Columns

行   Rows

              // 获取数据

       public bool DoExport(DataTable dt)
        {
            Application app 
= new ApplicationClass();
            
if (app == null)
            {
                
throw new Exception("Excel无法启动");
            }
            app.Visible 
= true;
            Workbooks wbs 
= app.Workbooks;
            Workbook wb 
= wbs.Add(Missing.Value);
            Worksheet ws 
= (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******************
            Range r = ws.get_Range(app.Cells[11], app.Cells[cnt + 1, columncnt]);
            r.NumberFormat 
= "@";
            
//r = r.get_Resize(cnt+1, columncnt);
            r.Value2 = objData;
            r.EntireColumn.AutoFit();

            app 
= null;
            
return true;
        }

           

0 0
原创粉丝点击