There are a lot of methods, I only use the simplest method 1. Reference COM components Excel.dll2. Implement the following public void exportExcel () {DataSet DS = this.dataset; // get DataGrid binding DataSet IF (DS == Null Return;
string saveFileName = ""; bool fileSaved = false; SaveFileDialog saveDialog = new SaveFileDialog (); saveDialog.DefaultExt = "xls"; saveDialog.Filter = "Excel Files | * .xls"; saveDialog.FileName = "Sheet1"; saveDialog. Showdialog (); SaveFileName = Savedialog.FileName; if (SaveFileName.indexof (":") <0) return; // is clicked with Excel.Application XLAPP = New Excel.Application ();
IF (xlapp == null) {MessageBox.show ("You can't create an Excel object, may not install an Excel"); Return;}
Excel.Workbooks workbooks = xlApp.Workbooks; Excel.Workbook workbook = workbooks.Add (Excel.XlWBATemplate.xlWBATWorksheet); Excel.Worksheet worksheet = (Excel.Worksheet) workbook.Worksheets [1]; // made sheet1 Excel.Range range ;
String Oldcaption = this.captiontext; long totalcount = ds.tables [0] .Rows.count; long RowRead = 0; float percent = 0;
Worksheet.cells [1,1] = this.captiontext; // Write field for (int i = 0; i if (ds.Tables [0] .Columns.Count> 1) {range.Borders [Excel.XlBordersIndex.xlInsideVertical] .ColorIndex = Excel.XlColorIndex.xlColorIndexAutomatic; range.Borders [Excel.XlBordersIndex.xlInsideVertical] .LineStyle = Excel. XlLineStyle.xlContinuous; range.Borders [Excel.XlBordersIndex.xlInsideVertical] .Weight = Excel.XlBorderWeight.xlThin;} if {try {workbook.Saved = true (saveFileName = ""!); workbook.SaveCopyAs (saveFileName); fileSaved = True;} catch (exception ex) {filesaved = false; messagebox.show ("Error exporting files, files may be opened! / n" EX.MESSAGED = false;} xlapp.quit (); Gc.collect (); // Forced destruction of IF (filesaved && file.exists (savefilename) system.diagnostics.Process.Start (SaveFileName);