72 lines
2.8 KiB
C#
72 lines
2.8 KiB
C#
// Copyright (c) 2017- schick Informatik
|
|
// Description: Dumps Maersk data into a simple Excel file
|
|
//
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using ClosedXML.Excel;
|
|
using bsmd.database;
|
|
|
|
namespace ENI2.Excel
|
|
{
|
|
static class ExcelSimpleWriter
|
|
{
|
|
public static void WriteMaerskList(string filename, List<MaerskData> data)
|
|
{
|
|
data.Sort();
|
|
|
|
using (var workbook = new XLWorkbook())
|
|
{
|
|
var worksheet = workbook.Worksheets.Add("Sheet1");
|
|
|
|
// Headers in first row
|
|
worksheet.Cell(1, 1).Value = "ETA";
|
|
worksheet.Cell(1, 2).Value = "ETD";
|
|
worksheet.Cell(1, 3).Value = "Rotation name";
|
|
worksheet.Cell(1, 4).Value = "Vessel code";
|
|
worksheet.Cell(1, 5).Value = "Vessel name";
|
|
worksheet.Cell(1, 6).Value = "IMO";
|
|
worksheet.Cell(1, 7).Value = "Arr voy";
|
|
worksheet.Cell(1, 8).Value = "Dep voy";
|
|
worksheet.Cell(1, 9).Value = "Terminal name";
|
|
worksheet.Cell(1, 10).Value = "Operator code";
|
|
worksheet.Cell(1, 11).Value = "Pro arr";
|
|
worksheet.Cell(1, 12).Value = "Pro dep";
|
|
worksheet.Cell(1, 13).Value = "ID";
|
|
worksheet.Cell(1, 14).Value = "Remark";
|
|
|
|
for (int i = 0; i < data.Count; i++)
|
|
{
|
|
MaerskData md = data[i];
|
|
int row = i + 2; // Data starts from row 2
|
|
|
|
worksheet.Cell(row, 1).Value = md.ColA;
|
|
worksheet.Cell(row, 1).Style.NumberFormat.Format = "dd/hh:mm";
|
|
|
|
worksheet.Cell(row, 2).Value = md.ColB;
|
|
worksheet.Cell(row, 2).Style.NumberFormat.Format = "dd/hh:mm";
|
|
|
|
worksheet.Cell(row, 3).Value = md.ColC;
|
|
worksheet.Cell(row, 4).Value = md.ColD;
|
|
worksheet.Cell(row, 5).Value = md.ColE;
|
|
worksheet.Cell(row, 6).Value = md.ColF;
|
|
worksheet.Cell(row, 7).Value = md.ColG;
|
|
worksheet.Cell(row, 8).Value = md.ColH;
|
|
worksheet.Cell(row, 9).Value = md.ColI;
|
|
worksheet.Cell(row, 10).Value = md.ColJ;
|
|
worksheet.Cell(row, 11).Value = md.ColK;
|
|
worksheet.Cell(row, 12).Value = md.ColL;
|
|
worksheet.Cell(row, 13).Value = md.ColM;
|
|
worksheet.Cell(row, 14).Value = md.Remark;
|
|
|
|
if ((md.MessageCore != null) && (md.MessageCore.Cancelled ?? false))
|
|
{
|
|
worksheet.Row(row).Style.Font.Strikethrough = true;
|
|
}
|
|
}
|
|
|
|
workbook.SaveAs(filename);
|
|
}
|
|
}
|
|
}
|
|
} |