При попытке устранить неполадки в сценарии использования я получаю исключение «Плохая подпись (0x01549FF9) в позиции 0x001D4DA8» после попытки открыть книгу. Как лучше всего определить, какая часть xlsx xml вызывает эту проблему?
Открытие файла в Excel и сохранение его решает проблему, и из различий я вижу, что Excel, должно быть, обнаружил и исправил «ошибки», но их слишком много, чтобы окончательно определить, какая из них является проблемой.
[TestMethod]
public void FileSaving_FileOpensAfterMultipleEdits_FunctioningFile()
{
var template = @"C:\xxxxx\test.xlsx";
var outputSmokeTest = Path.Combine(testDocumentsRootDirectory, @"Results\CorruptTest.xlsx");
smokeTestWorkbook = new Workbook(key);
if (File.Exists(outputSmokeTest))
File.Delete(outputSmokeTest);
smokeTestWorkbook.Open(template);
smokeTestWorkbook.SaveAs(outputSmokeTest);
}
/// <summary>
/// Opens a reference to the workbook
/// </summary>
/// <returns></returns>
public void Open(string workbookPath)
{
var loggerString = "Open";
if (File.Exists(workbookPath))
{
try
{
logger.Track(loggerString);
excelPackage = new ExcelPackage(new FileInfo(workbookPath));
}
catch (Exception ex)
{
logger.TrackException(loggerString, ex);
}
}
}
новая строка ExcelPackage вызывает исключение.