Правильное расширение файла SpreadsheetML

Я хочу создать файл SpreadsheetML на локальном диске, который можно открыть в MS Excel или открыть Office, нажав на файл в Проводнике Windows.

Я пробовал все расширения файлов, зарегистрированные в Microsoft Excel, которые я мог найти до сих пор. Некоторые из них (.xls например) позволяет открыть файл, но после" файл находится в другом формате, чем указано расширением файла " диалоговое окно предупреждения. Некоторые расширения (например,.xlsx) заставляет Excel показывать диалоговое окно ошибки формата без открытия файл.

Википедия говорит, что расширение должно быть .xml, но он зарегистрирован для открытия веб-браузером по умолчанию.

этой, этой и этой подобные вопросы касаются загрузки файла из интернета и установки правильного типа контента. Но я не могу изменить тип контента для локального файла.

этой статья объясняет, как этот раздражающий механизм упрочнения расширения работает и как отключите его, но я думаю, что неправильно заставлять пользователя отключать функции безопасности только для того, чтобы открыть файл электронной таблицы.

итак, нет решения или я что-то упускаю?

1 ответов


теперь Open Office можно открыть .xlsx (и читать) файлы и Excel могут открывать (и читать) .ods файлы. Я предлагаю выбрать один из них, который лучше всего подходит вашей аудитории и вашему пониманию конкретного формата файла.

оба приложения имеют преимущества и неудачи и не поддерживаемые функции между ними двумя.

предлагаю ознакомиться с документом различия между электронной таблицей OpenDocument (.ods) формат и Excel (.файлы XLSX) формат.

когда вы работаете с двумя форматами файлов, например .xlsx и .ОДС, там может различия в форматировании, и не все функции будут доступны. Вы сможете конвертировать данные и контент, но так, как вы работаете с содержимое может отличаться в зависимости от используемых форматов.

один gotcha с открытым офисом, когда вы сохраняете .xlsx файл он изменит формат на . Оба приложения будут повторно организовать структура папок после сохранения в любом случае.

самое большое изменение - это то, как вы создаете файлы SpreadsheetML, как Open Office, так и Excel имеют различную структуру папок в зависимости от расширения файла, который вы будете использовать.

вот краткий пример формата папки Excel.

-/
 - _rels/
   - .rels
 - xl/
   - _rels/
     - workbook.xml.rels
   - sheet1.xml
   - workbook.xml
 - [Content_Types].xml

Я создал образец репозитория GitHub для этого с образцом, который будет открыт как в Excel, так и в Open Офис.

https://github.com/Nico-StackOverflow/proper-spreadsheetml-file-extension