У меня возникают проблемы с обнаружением проблемы с моими XML-файлами. Как мне найти Плохую подпись (0x01549FF9) в позиции 0x001D4DA8? - PullRequest
0 голосов
/ 08 мая 2019

При попытке устранить неполадки в сценарии использования я получаю исключение «Плохая подпись (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 вызывает исключение.

...