Simplen Excel export hinzugefügt
This commit is contained in:
parent
9f31b3cea4
commit
ed1f11c936
@ -16,6 +16,7 @@ using System.Runtime.InteropServices;
|
|||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using ExcelDataReader;
|
using ExcelDataReader;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
using ENI2.Excel;
|
||||||
|
|
||||||
namespace ENI2.Controls
|
namespace ENI2.Controls
|
||||||
{
|
{
|
||||||
@ -278,7 +279,25 @@ namespace ENI2.Controls
|
|||||||
|
|
||||||
private void buttonExport_Click(object sender, RoutedEventArgs e)
|
private void buttonExport_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
|
// Export of the current collection
|
||||||
|
SaveFileDialog sfd = new SaveFileDialog()
|
||||||
|
{
|
||||||
|
Filter = "Excel Files|*.xls;*.xlsx"
|
||||||
|
};
|
||||||
|
if(sfd.ShowDialog() ?? false)
|
||||||
|
{
|
||||||
|
Util.UIHelper.SetBusyState();
|
||||||
|
ExcelManager em = new ExcelManager();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
List<MaerskData> exportList = new List<MaerskData>(this.maerskDataList);
|
||||||
|
em.ExportMaersk(exportList, sfd.FileName);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show(ex.Message, "Export failed", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void buttonSave_Click(object sender, RoutedEventArgs e)
|
private async void buttonSave_Click(object sender, RoutedEventArgs e)
|
||||||
|
|||||||
@ -800,7 +800,7 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
MessageBox.Show(ex.Message, "Export failed", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(ex.Message, "Export failed", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -254,6 +254,7 @@
|
|||||||
<Compile Include="Excel\ExcelComparer.cs" />
|
<Compile Include="Excel\ExcelComparer.cs" />
|
||||||
<Compile Include="Excel\ExcelManager.cs" />
|
<Compile Include="Excel\ExcelManager.cs" />
|
||||||
<Compile Include="Excel\ExcelReader.cs" />
|
<Compile Include="Excel\ExcelReader.cs" />
|
||||||
|
<Compile Include="Excel\ExcelSimpleWriter.cs" />
|
||||||
<Compile Include="Excel\ExcelUtil.cs" />
|
<Compile Include="Excel\ExcelUtil.cs" />
|
||||||
<Compile Include="Controls\MaerskListControl.xaml.cs">
|
<Compile Include="Controls\MaerskListControl.xaml.cs">
|
||||||
<DependentUpon>MaerskListControl.xaml</DependentUpon>
|
<DependentUpon>MaerskListControl.xaml</DependentUpon>
|
||||||
|
|||||||
@ -80,11 +80,16 @@ namespace ENI2.Excel
|
|||||||
resultMessage = "";
|
resultMessage = "";
|
||||||
|
|
||||||
// Create ExcelWriter
|
// Create ExcelWriter
|
||||||
using (ExcelWriter ew = new ExcelWriter(fileName, isRefSheet))
|
using (ExcelWriter ew = new ExcelWriter(isRefSheet))
|
||||||
{
|
{
|
||||||
ew.WriteData(messages, core, out resultMessage, isRefSheet);
|
ew.WriteData(messages, core, out resultMessage, isRefSheet);
|
||||||
ew.Save(fileName);
|
ew.Save(fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal void ExportMaersk(List<MaerskData> exportList, string fileName)
|
||||||
|
{
|
||||||
|
ExcelSimpleWriter.WriteMaerskList(fileName, exportList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
59
ENI2/Excel/ExcelSimpleWriter.cs
Normal file
59
ENI2/Excel/ExcelSimpleWriter.cs
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
using Microsoft.Office.Interop.Excel;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
using bsmd.database;
|
||||||
|
|
||||||
|
namespace ENI2.Excel
|
||||||
|
{
|
||||||
|
static class ExcelSimpleWriter
|
||||||
|
{
|
||||||
|
public static void WriteMaerskList(string filename, List<MaerskData> data)
|
||||||
|
{
|
||||||
|
Application excelApp = new Application();
|
||||||
|
excelApp.DisplayAlerts = false;
|
||||||
|
excelApp.Visible = false;
|
||||||
|
Workbook wb = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
|
||||||
|
|
||||||
|
Worksheet ws = wb.Worksheets[1];
|
||||||
|
|
||||||
|
// ExcelWorkSheet.Cells[r, c] = "R" + r + "C" + c;
|
||||||
|
|
||||||
|
for (int i = 0; i < data.Count; i++)
|
||||||
|
{
|
||||||
|
MaerskData md = data[i];
|
||||||
|
ws.Cells[i + 1, 1] = md.ColA;
|
||||||
|
ws.Cells[i + 1, 2] = md.ColB;
|
||||||
|
ws.Cells[i + 1, 3] = md.ColC;
|
||||||
|
ws.Cells[i + 1, 4] = md.ColD;
|
||||||
|
ws.Cells[i + 1, 5] = md.ColE;
|
||||||
|
ws.Cells[i + 1, 6] = md.ColF;
|
||||||
|
ws.Cells[i + 1, 7] = md.ColG;
|
||||||
|
ws.Cells[i + 1, 8] = md.ColH;
|
||||||
|
ws.Cells[i + 1, 9] = md.ColI;
|
||||||
|
ws.Cells[i + 1, 10] = md.ColJ;
|
||||||
|
ws.Cells[i + 1, 11] = md.ColK;
|
||||||
|
ws.Cells[i + 1, 12] = md.ColL;
|
||||||
|
ws.Cells[i + 1, 13] = md.ColM ;
|
||||||
|
ws.Cells[i + 1, 14] = md.Remark;
|
||||||
|
}
|
||||||
|
|
||||||
|
wb.SaveAs(filename, XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, Type.Missing,
|
||||||
|
Type.Missing, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing,
|
||||||
|
Type.Missing, Type.Missing);
|
||||||
|
wb.Saved = true;
|
||||||
|
wb.Close(0);
|
||||||
|
|
||||||
|
Marshal.ReleaseComObject(ws);
|
||||||
|
Marshal.ReleaseComObject(wb);
|
||||||
|
|
||||||
|
excelApp.Quit();
|
||||||
|
Marshal.ReleaseComObject(excelApp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -18,11 +18,9 @@ namespace ENI2.Excel
|
|||||||
internal class ExcelWriter : ExcelBase
|
internal class ExcelWriter : ExcelBase
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region Construction
|
#region Construction
|
||||||
|
|
||||||
public ExcelWriter(string filePath, bool isRefSheet)
|
public ExcelWriter(bool isRefSheet)
|
||||||
{
|
{
|
||||||
string filename = @"Excel\EU-NoAD-Data-Collecting-Tool-5_0.xlsx";
|
string filename = @"Excel\EU-NoAD-Data-Collecting-Tool-5_0.xlsx";
|
||||||
if (isRefSheet) filename = @"Excel\Reference_Sheet_DE.xlsx";
|
if (isRefSheet) filename = @"Excel\Reference_Sheet_DE.xlsx";
|
||||||
@ -31,7 +29,7 @@ namespace ENI2.Excel
|
|||||||
this._workBook = _excelWorkbooks.Open(refFilePath, 0, true, 5, "", "", false, XlPlatform.xlWindows, "", false, false, 0, false, false, false);
|
this._workBook = _excelWorkbooks.Open(refFilePath, 0, true, 5, "", "", false, XlPlatform.xlWindows, "", false, false, 0, false, false, false);
|
||||||
|
|
||||||
this.InitNameFields();
|
this.InitNameFields();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -194,6 +192,11 @@ namespace ENI2.Excel
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void WriteMaerskList(List<MaerskData> maerskList)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region private excel field writing
|
#region private excel field writing
|
||||||
|
|||||||
@ -37,7 +37,7 @@ namespace bsmd.database
|
|||||||
[Description("No id")]
|
[Description("No id")]
|
||||||
NO_ID,
|
NO_ID,
|
||||||
[Description("Updated")]
|
[Description("Updated")]
|
||||||
UPDATED,
|
UPDATED,
|
||||||
[Description("Requesting id")]
|
[Description("Requesting id")]
|
||||||
REQUESTING_ID,
|
REQUESTING_ID,
|
||||||
[Description("Id assigned")]
|
[Description("Id assigned")]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user