基本思路,就是using Microsoft.Office.Interop.Excel;然后启动excel来处理
创建excel文件,代码如下:
if (File.Exists(path)) { return true; } try { //EXCEL应用程序 Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); Object nothing = Missing.Value; //EXCEL文档 Microsoft.Office.Interop.Excel._Workbook excelDoc = excelApp.Workbooks.Add(nothing); Object format = Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault; excelDoc.SaveAs(path, nothing, nothing, nothing, nothing, nothing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, nothing, nothing, nothing, nothing, nothing); excelDoc.Close(nothing, nothing, nothing); excelApp.Quit(); return true; } catch { return false; }
将DataTable写入EXCLE,代码如下:
, AppDomain.CurrentDomain.BaseDirectory.LastIndexOf("\\")) + "\\" + excelname; if (!CreateExcel(path)) { return false; } Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application(); try { app.Visible = false; Workbook wBook = app.Workbooks.Add(true); Worksheet wSheet = wBook.Worksheets[] as Worksheet; ) { ; row = excelTable.Rows.Count; int col = excelTable.Columns.Count; ; i < row; i++) { ; j < col; j++) { string str = excelTable.Rows[i][j].ToString(); wSheet.Cells[i + , j + ] = str; } } } //设置禁止弹出保存和覆盖的询问提示框 app.DisplayAlerts = false; app.AlertBeforeOverwriting = false; wBook.Saved = true; //保存工作簿 wBook.Save(); //保存excel文件 app.Save(path); app.SaveWorkspace(path); app.Quit(); app = null;return true; } catch (Exception err) {return false; }