Excel Vergleich Umbau Teil 1

This commit is contained in:
Daniel Schick 2022-06-28 11:04:44 +02:00
parent cccc2aee3c
commit e8a4fcb227
2 changed files with 30 additions and 6 deletions

View File

@ -9,6 +9,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Drawing; using System.Drawing;
using Microsoft.Office.Interop.Excel;
namespace ENI2.Excel namespace ENI2.Excel
{ {
@ -22,6 +23,25 @@ namespace ENI2.Excel
{ {
private static int diffColor = ColorTranslator.ToOle(Color.FromArgb(150, 150, 255)); // blue private static int diffColor = ColorTranslator.ToOle(Color.FromArgb(150, 150, 255)); // blue
private static bool GetSheetRange(Worksheet sheet, out int lastUsedRow, out int lastUsedColumn)
{
try
{
Range last = sheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);
Range range = sheet.get_Range("A1", last);
lastUsedRow = last.Row;
lastUsedColumn = last.Column;
return true;
}
catch(Exception)
{
lastUsedColumn = 0;
lastUsedRow = 0;
return false;
}
}
public static string Compare(string sourcePath, string targetPath, out string errorMessage) public static string Compare(string sourcePath, string targetPath, out string errorMessage)
{ {
string fileName = Path.GetTempPath() + Guid.NewGuid().ToString() + ".xlsx"; string fileName = Path.GetTempPath() + Guid.NewGuid().ToString() + ".xlsx";
@ -34,18 +54,19 @@ namespace ENI2.Excel
ExcelReader source = new ExcelReader(sourcePath); ExcelReader source = new ExcelReader(sourcePath);
ExcelReader comparison = new ExcelReader(fileName, false); ExcelReader comparison = new ExcelReader(fileName, false);
/*
// loop through named cells // loop through named cells
foreach (string name in comparison.NameDict.Keys) foreach (string name in comparison.NameDict.Keys)
{ {
if (!source.NameDict.ContainsKey(name)) continue; if (!source.NameDict.ContainsKey(name)) continue;
string sourceText = source.ReadText(name); string sourceText = source.ReadText(name);
string targetText = comparison.ReadText(name); string targetText = comparison.ReadText(name);
if (sourceText == null) if (sourceText == null)
{ {
if (targetText != null) if (targetText != null)
{ {
comparison.Colorize(name, diffColor); comparison.Colorize(name, diffColor);
counter++; counter++;
} }
} }
@ -53,7 +74,7 @@ namespace ENI2.Excel
{ {
if (sourceText != null) if (sourceText != null)
{ {
comparison.Colorize(name, diffColor); comparison.Colorize(name, diffColor);
counter++; counter++;
} }
} }
@ -62,11 +83,14 @@ namespace ENI2.Excel
if (!sourceText.Equals(targetText)) if (!sourceText.Equals(targetText))
{ {
// turn cell blue // turn cell blue
comparison.Colorize(name, diffColor); comparison.Colorize(name, diffColor);
counter++; counter++;
} }
} }
} }
*/
comparison.Save(fileName); comparison.Save(fileName);
errorMessage = string.Format("{0} differences found", counter); errorMessage = string.Format("{0} differences found", counter);
} }

View File

@ -42,7 +42,7 @@ namespace bsmd.database
STRING_UNNUMBER = 23, STRING_UNNUMBER = 23,
STRING_IMOCLASS = 24, STRING_IMOCLASS = 24,
DRAUGHT_IMPLAUSIBLE = 25, DRAUGHT_IMPLAUSIBLE = 25,
TIME_IMPLAUSIBLE = 26, TIME_IMPLAUSIBLE = 26,
PORTAREA, PORTAREA,
TRUNCATE = 28, TRUNCATE = 28,
MMSI = 29, MMSI = 29,