diff --git a/ENI-2/ENI2/ENI2/Controls/POListControl.xaml.cs b/ENI-2/ENI2/ENI2/Controls/POListControl.xaml.cs index 0e73f223..99936d61 100644 --- a/ENI-2/ENI2/ENI2/Controls/POListControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/Controls/POListControl.xaml.cs @@ -5,8 +5,13 @@ using System; using System.Collections; using System.Collections.Generic; +using System.IO; using System.Windows; using System.Windows.Controls; +using Microsoft.Win32; + +using Microsoft.Office.Interop.Excel; +using System.Runtime.InteropServices; using bsmd.database; @@ -54,7 +59,41 @@ namespace ENI2.Controls private void buttonExcelExport_Click(object sender, RoutedEventArgs e) { + if (this.filteredResult.Count == 0) return; + OpenFileDialog ofd = new OpenFileDialog + { + Filter = "Excel Files|*.xls;*.xlsx" + }; + if (ofd.ShowDialog() ?? false) + { + try + { + Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); + excelApp.DisplayAlerts = false; + Workbook workBook = excelApp.Workbooks.Open(ofd.FileName); + Worksheet workSheet = workBook.Worksheets[1]; + + int rowIndex = 3; + foreach(MessageCore core in this.filteredResult) + { + workSheet.Cells[rowIndex, 7].Value = core.Shipname; + workSheet.Cells[rowIndex, 10].Value = core.PoC.Substring(2); + workSheet.Cells[rowIndex, 13].Value = core.PONumber; + rowIndex++; + } + + workBook.Save(); + workBook.Close(); + Marshal.ReleaseComObject(workBook); + excelApp.Quit(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); + return; + } + } } private void buttonSaveChanges_Click(object sender, RoutedEventArgs e) @@ -103,7 +142,7 @@ namespace ENI2.Controls if (e.Column == gridColumnPONumber) { // validate for "true" number - var el = e.EditingElement as TextBox; + var el = e.EditingElement as System.Windows.Controls.TextBox; if (!el.Text.IsDigitsOnly()) { el.Text = string.Empty; diff --git a/ENI-2/ENI2/ENI2/ENI2.csproj b/ENI-2/ENI2/ENI2/ENI2.csproj index 46d7d7f9..4964de78 100644 --- a/ENI-2/ENI2/ENI2/ENI2.csproj +++ b/ENI-2/ENI2/ENI2/ENI2.csproj @@ -93,17 +93,21 @@ ENI2_2_TemporaryKey.pfx - - packages\ExcelDataReader.3.5.0\lib\net45\ExcelDataReader.dll + + packages\ExcelDataReader.3.6.0\lib\net45\ExcelDataReader.dll packages\log4net.2.0.8\lib\net45-full\log4net.dll True + + packages\Microsoft.Office.Interop.Excel.15.0.4795.1000\lib\net20\Microsoft.Office.Interop.Excel.dll + True + - - packages\System.Data.SQLite.Core.1.0.110.0\lib\net451\System.Data.SQLite.dll + + packages\System.Data.SQLite.Core.1.0.112.0\lib\net451\System.Data.SQLite.dll @@ -124,20 +128,20 @@ - - packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\Xceed.Wpf.AvalonDock.dll + + packages\Extended.Wpf.Toolkit.3.8.1\lib\net40\Xceed.Wpf.AvalonDock.dll - - packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll + + packages\Extended.Wpf.Toolkit.3.8.1\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll - - packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll + + packages\Extended.Wpf.Toolkit.3.8.1\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll - - packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll + + packages\Extended.Wpf.Toolkit.3.8.1\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll - - packages\Extended.Wpf.Toolkit.3.5.0\lib\net40\Xceed.Wpf.Toolkit.dll + + packages\Extended.Wpf.Toolkit.3.8.1\lib\net40\Xceed.Wpf.Toolkit.dll @@ -825,12 +829,12 @@ - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + - - + + - + + \ No newline at end of file diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 2dce5ec5..e03d7e6c 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ