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 ExcelDataReader;
|
||||
using System.Collections.ObjectModel;
|
||||
using ENI2.Excel;
|
||||
|
||||
namespace ENI2.Controls
|
||||
{
|
||||
@ -278,7 +279,25 @@ namespace ENI2.Controls
|
||||
|
||||
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)
|
||||
|
||||
@ -800,7 +800,7 @@ namespace ENI2.DetailViewControls
|
||||
{
|
||||
MessageBox.Show(ex.Message, "Export failed", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -254,6 +254,7 @@
|
||||
<Compile Include="Excel\ExcelComparer.cs" />
|
||||
<Compile Include="Excel\ExcelManager.cs" />
|
||||
<Compile Include="Excel\ExcelReader.cs" />
|
||||
<Compile Include="Excel\ExcelSimpleWriter.cs" />
|
||||
<Compile Include="Excel\ExcelUtil.cs" />
|
||||
<Compile Include="Controls\MaerskListControl.xaml.cs">
|
||||
<DependentUpon>MaerskListControl.xaml</DependentUpon>
|
||||
|
||||
@ -80,11 +80,16 @@ namespace ENI2.Excel
|
||||
resultMessage = "";
|
||||
|
||||
// Create ExcelWriter
|
||||
using (ExcelWriter ew = new ExcelWriter(fileName, isRefSheet))
|
||||
using (ExcelWriter ew = new ExcelWriter(isRefSheet))
|
||||
{
|
||||
ew.WriteData(messages, core, out resultMessage, isRefSheet);
|
||||
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
|
||||
{
|
||||
|
||||
|
||||
|
||||
#region Construction
|
||||
|
||||
public ExcelWriter(string filePath, bool isRefSheet)
|
||||
public ExcelWriter(bool isRefSheet)
|
||||
{
|
||||
string filename = @"Excel\EU-NoAD-Data-Collecting-Tool-5_0.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.InitNameFields();
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -194,6 +192,11 @@ namespace ENI2.Excel
|
||||
|
||||
}
|
||||
|
||||
public void WriteMaerskList(List<MaerskData> maerskList)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region private excel field writing
|
||||
|
||||
@ -37,7 +37,7 @@ namespace bsmd.database
|
||||
[Description("No id")]
|
||||
NO_ID,
|
||||
[Description("Updated")]
|
||||
UPDATED,
|
||||
UPDATED,
|
||||
[Description("Requesting id")]
|
||||
REQUESTING_ID,
|
||||
[Description("Id assigned")]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user