Datatable 直接生成 Excel 文件到本地磁盘中

  protected void DatatableExcelC(System.Data.DataTable dt)
    {
        Microsoft.Office.Interop.Excel.Application excelkccx = new Microsoft.Office.Interop.Excel.ApplicationClass();
        Microsoft.Office.Interop.Excel._Workbook wb;
        Microsoft.Office.Interop.Excel._Worksheet ws = null;
        wb = excelkccx.Workbooks.Add(true);
        string tbname = "FileName";
       
        if (ws == null)
        {
            ws = (_Worksheet)wb.Worksheets.Add(Type.Missing, Type.Missing, 1, Type.Missing);
        }
        else
        {
            ws = (_Worksheet)wb.Worksheets.Add(Type.Missing, ws, 1, Type.Missing);
        }
        int row = 2;
        for (int i = 0; i < dt.Columns.Count; i++)
        {
            excelkccx.Cells[1, i + 1] = dt.Columns[i].ColumnName.ToString();
        }
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                excelkccx.Cells[row, j + 1] = dt.Rows[i][j].ToString();
            }
            row++;
        }
        wb.SaveCopyAs("C:\\" + tbname + ".xls");
        wb.Close(falsenullnull);
        excelkccx.Quit();
        wb = null;
        ws = null;
        excelkccx = null;

    }
posted @ 2012-09-15 11:11  hishanghai  阅读(235)  评论(0编辑  收藏  举报