首页 > 解决方案 > 我无法找到与我的 xml 文件有关的问题 如何在位置 0x001D4DA8 找到错误签名 (0x01549FF9)

问题描述

在尝试对用例进行故障排除时,我在尝试打开工作簿后在位置 0x001D4DA8 处收到“错误签名 (0x01549FF9)”异常。查找 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 行是导致异常的原因。

标签: xlsxepplus

解决方案


推荐阅读