13

Hi
i have managed to open .xls files form mail app by adding document type to the project build and set the Types field to "com.microsoft.excel.xls" (see screen shot).
I want to do the same with xlsx files but can't do it. I tried to add "com.microsoft.excel.xlsx" but it didn't work

enter image description here

Mahmoud Adam
  • 5,772
  • 5
  • 41
  • 62

3 Answers3

18

I solved that by defining custom UTI as follows. Try to add these definitions into your info.plist. It works as expected.

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeDescription</key>
        <string>XLSX input table document</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <string>xlsx</string>
            <key>public.mime-type</key>
            <string>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</string>
        </dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeIdentifier</key>
        <string>com.mydomain.myapplication.xlsx</string>
    </dict>
</array>

....

<key>CFBundleDocumentTypes</key>
<array>

    <dict>
        <key>CFBundleTypeName</key>
        <string>XLSX input table document</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.mydomain.myapplication.xlsx</string>
        </array>
    </dict>
</array>
David Vít
  • 354
  • 3
  • 7
7

The identifier for XLSX files is org.openxmlformats.spreadsheetml.sheet

Checkout: https://escapetech.eu/manuals/qdrop/uti.html

André Kuhlmann
  • 4,378
  • 3
  • 23
  • 42
1

XSLX is already declared as org.openxmlformats.presentationml.presentation

André Kuhlmann
  • 4,378
  • 3
  • 23
  • 42
Dale
  • 3,193
  • 24
  • 29