/// <summary> /// 直接创建Excel表 /// </summary> /// <param name="dtSource">数据源DataTable</param> /// <param name="filePath">保存路径</param> /// <param name="drTitle">标题DataRow</param> /// <param name="TableName">Excel表头</param> /// <returns></returns> public static bool Save(System.Data.DataTable dtSource, string filePath, System.Data.DataRow drTitle, string TableName) { Excel.Application app = new Excel.Application();//EXCEL实例 try { app.Visible = false; Workbook wBook = app.Workbooks.Add(true); Worksheet wSheet = wBook.Worksheets[1] as Worksheet; if (dtSource.Rows.Count > 0) { int row = dtSource.Rows.Count + 1; int col = dtSource.Columns.Count + 1; for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { string str = dtSource.Rows[i][j].ToString(); wSheet.Cells[i + 3, j + 1] = str; } } } int size = dtSource.Columns.Count; for (int i = 0; i < size; i++) { wSheet.Cells[2, 1 + i] = drTitle[i].ToString(); } wSheet.get_Range(wSheet.Cells[1, 0], wSheet.Cells[1, size]).Merge(Type.Missing); wSheet.Cells[1, 1] = TableName; //设置禁止弹出保存和覆盖的询问提示框 app.DisplayAlerts = false; app.AlertBeforeOverwriting = false; //保存工作簿 wBook.Save(); //保存excel文件 app.Save(filePath); app.SaveWorkspace(filePath); app.Quit(); app = null; return(true); } catch { return(false); } finally { } }