using System; using System.Collections; using System.Reflection; using System.Windows.Forms; using Xls = Microsoft.Office.Interop.Excel; namespace Utility.Graphics { /// /// Excel /// public class Excel { public Excel() { } private string bookname="Book1", sheetname="Sheet1", cell="A1", cellend="B2"; public string NameOfBook { get{return bookname;} set{bookname = value;} } public string NameOfSheet { get{return sheetname;} set{sheetname = value;} } public string StartingCell { get{return cell;} set{cell = value;} } public string EndingCell { get{return cellend;} set{cellend = value;} } private Xls.Application objApp; private Xls.Workbooks objBooks; private Xls.Workbook objBook; private Xls.Sheets objSheets; private Xls.Worksheet objSheet; private void Access(bool writeQ) { objApp = new Xls.Application(); objBooks = objApp.Workbooks; objBook = objApp.Workbooks.Open (System.Windows.Forms.Application.StartupPath + "\\"+bookname+".xls", Type.Missing,Type.Missing,Type.Missing, Type.Missing,Type.Missing,Type.Missing, Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing,Type.Missing,Type.Missing,Type.Missing); objSheets = objBook.Worksheets; int findsheet = 0; for(int k = 0; k < objSheets.Count; k++) { objSheet = (Xls.Worksheet)objSheets.get_Item(k+1); if(objSheet.Name == sheetname) findsheet = k+1; } if(findsheet==0) { if(writeQ) { objSheet = (Xls.Worksheet)objSheets.Add( Missing.Value,Missing.Value, Missing.Value, Missing.Value); objSheet.Name = sheetname; } else { try{throw new Exception();} catch (Exception) { MessageBox.Show("No sheet! Check the name of sheet.", "Invalid method",MessageBoxButtons.OK, MessageBoxIcon.Error ); } } } else objSheet = (Xls.Worksheet)objSheets.get_Item(findsheet); } public void Write(double[,] obj) { Access(true); Xls.Range range; range = objSheet.get_Range(cell, Missing.Value); range = range.get_Resize(obj.GetLength(0),obj.GetLength(1)); range.set_Value(Missing.Value, obj); objBook.Save(); // objApp.Visible = true; // objApp.UserControl = true; objApp.Quit(); } public void Write(ArrayList[] als) { Access(true); Xls.Range range; range = objSheet.get_Range(cell, Missing.Value); range = range.get_Resize(als[0].Count, als.Length); Object[,] obj = new Object[als[0].Count, als.Length]; for(int i = 0; i