Я почесал голову вокруг этого.Таким образом, в основном мы создали файл Excel с большим количеством данных - часть программного обеспечения, используя Open-Xml SDK, и отправили эти файлы, которые будут изменены людьми по всему миру, и отправили их нам для импорта (снова используя Open-Xml SDK).
Большую часть времени это работает, но пару раз - нет.Сообщение об ошибке из Open-Xml SDK было очень загадочным: указанный пакет недействителен.Основная часть отсутствует.
После исследования я обнаружил, что если я сохраню файл с собственным приложением Excel (Excel 2016) до его импорта, я смогу импортировать файл.Итак, я извлек zip-файл в формате xlsx и сравнил оба.
Единственное, что отличалось, - это наличие этого тега в файле styles.xml: https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.fonts.knownfonts?view=openxml-2.8.1 Значениетэг 1. Моя гипотеза заключается в том, что существование этого тэга не является проблемой, скажем так, но оно сочетается с тем фактом, что есть корейские шрифты, которые сохраняются (и используются / упоминаются в таблицах), которые в конечном итоге приводят к тому, что open-xmlне сможет загрузить файл.
Итак, я вручную удалил этот тег из файла styles.xml и разархивировал, чтобы воссоздать файл excel xlsx, и теперь Open-Xml может импортировать снова, даже если шрифт, которого у меня, вероятно, нетв моей системе все еще использовались / упоминались в листе Excel)
Я пытался обновить Open-Xml SDK до 2.8.1, а затем до 2.9.0, но проблема все еще остается.Задав вопрос, приложение Excel, которое использовалось для сохранения Excel и добавления этого тега, установлено на корейском языке, и, поскольку оно является сторонним, мы не можем контролировать, какую версию программного обеспечения / язык они использовали.
Я также пыталсячтобы поиграть с параметрами разметки совместимости, откройте загрузку xml без какого-либо успеха.
Мой вопрос был бы: есть ли способ загрузить файл Excel с этим тегом, используя open-xml sdk, без необходимости вручную удалять тег илиэто ошибка OpenXML SDK, о которой я должен сообщить?