Сохраненная электронная таблица Openxml не загружается в Excel 365 - PullRequest
0 голосов
/ 26 октября 2019
using (var stream = MemoryStream())
{
    using (var inputFile = File.Read("Input.xlsx"))
          await inputFile.CopyToAsync(stream);
    stream.Seek(0, SeekOrigin.Begin);

    using (var document= SpreadsheetDocument.Open(stream, true))
    {
        //Confirmed that if not calling Save the output file is the same as the input
        document.Save();
    }
    await stream.CopyToAsync(outputFile);
}

Приведенный выше код должен создавать только тот же файл Excel, что и входные данные. Однако, хотя входной файл может быть загружен в Excel 365 версии 1909 (сборка 12026.20334 «нажми и работай»), выходной файл вообще не будет загружен.

Разница во входных и выходных файлах заключается в том, чтоВыходные файлы деталей xml, особенно файл «таблицы общих строк» ​​и файл листа, имели префикс x: xmlns. Входные файлы с другой стороны, не.

Я использую DocumentFormat.OpenXml v2.9.1, как я могу это исправить и сделать вывод читабельным?

Обновление

OpenXml v2.9.0 работал, но 2.9.1 был выпущен несколько месяцев назад ... И в коде исправлены опечатки.

С этими x: xmlns ничего общего не имеет, похоже что-то вроде этот выпуск ?

...