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 ничего общего не имеет, похоже что-то вроде этот выпуск ?