public MainWindow() { InitializeComponent(); sheetDate.Text = DateTime.Now.ToString("dd/MM/yy HH:mm"); _sheetDateTime = DateTime.Now; _excelController = new ExcelController(); _dataTableController = new DataTableController(); statusMsg.Foreground = System.Windows.Media.Brushes.Red; statusMsg.Text = "Timesheet not loaded"; NewTimer(); TrayManagement(); }
private void ExcelCalculations() { try { var fi = new FileInfo(_fileLoadPath); using (var excelPackage = new ExcelPackage(fi)) { List <Object> instanceList = new List <Object>(); var wsTimes = excelPackage.Workbook.Worksheets["MySheet"]; var wsTimesStart = wsTimes.Dimension.Start; var wsTimesEnd = wsTimes.Dimension.End; //TODO: this needs refactoring to import straight to the datatable for (int row = wsTimesStart.Row + 1; row <= wsTimesEnd.Row; row++) { instanceList.Add(wsTimes.Cells[row, 1].Value); instanceList.Add(wsTimes.Cells[row, 2].Value); instanceList.Add(wsTimes.Cells[row, 3].Value); } var outTable = new DataTableController().GetOutputDataTable(instanceList); //export datatable to excel sheet var wsCalc = excelPackage.Workbook.Worksheets.Add("Calculated_Times"); wsCalc.Cells["A1"].LoadFromDataTable(outTable, true); wsCalc.DeleteColumn(4); excelPackage.Save(); statusMsg.Foreground = System.Windows.Media.Brushes.Green; statusMsg.Text = "Calculation completed"; } } catch { statusMsg.Foreground = System.Windows.Media.Brushes.Red; statusMsg.Text = "Invalid operation, calculation failed"; } }