DataTable導入到Excel文件

public static bool DataTableToExcel(System.Data.DataTable dt, string fileName, bool showFileDialog=false)         {             if (showFileDialog)             {                 SaveFileDialog saveFileDialog = new SaveFileDialog();                 saveFileDialog.Filter = "Execl files (*.xls)|*.xls";                 saveFileDialog.FilterIndex = 0;                 saveFileDialog.RestoreDirectory = true;                 saveFileDialog.CreatePrompt = true;                 saveFileDialog.FileName = fileName;                 saveFileDialog.Title = "Export Excel File To";                 // saveFileDialog.ShowDialog();                 if (saveFileDialog.ShowDialog() == DialogResult.OK)                     fileName = saveFileDialog.FileName;                 else                     return false;             }             System.Reflection.Missing miss = System.Reflection.Missing.Value;             Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.ApplicationClass();             Microsoft.Office.Interop.Excel.Workbooks books = (Microsoft.Office.Interop.Excel.Workbooks)excel.Workbooks;             Microsoft.Office.Interop.Excel.Workbook book = (Microsoft.Office.Interop.Excel.Workbook)(books.Add(miss));             Microsoft.Office.Interop.Excel.Worksheet sheet = (Microsoft.Office.Interop.Excel.Worksheet)book.ActiveSheet;             if (!string.IsNullOrEmpty(dt.TableName))             {                 sheet.Name = dt.TableName;             }             int intIndex = 0;             foreach (DataColumn column in dt.Columns)             {                 intIndex++;                 excel.Cells[1, intIndex] = column.ColumnName;             }             int rowCount = dt.Rows.Count;             int colCount = dt.Columns.Count;             object[,] dataArray = new object[rowCount, colCount];             for (int i = 0; i < rowCount; i++)             {                 for (int j = 0; j < colCount; j++)                 {                     //避免格式不兼容,加上"'"                     dataArray[i, j] = "'"+dt.Rows[i][j].ToString();                 }             }             sheet.get_Range("A2", sheet.Cells[rowCount + 1, colCount]).Value2 = dataArray;             sheet.SaveAs(fileName, miss, miss, miss, miss, miss, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, miss, miss, miss);             book.Close(false, miss, miss);             books.Close();             excel.Quit();             //System.Runtime.InteropServices.Marshal.ReleaseComObject();                System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);             System.Runtime.InteropServices.Marshal.ReleaseComObject(book);             System.Runtime.InteropServices.Marshal.ReleaseComObject(books);             System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);             GC.Collect();             return true;         }View Code
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章