Como montar corretamente um arquivo xlsx válido de seus subcomponentes internos?

Eu estou tentando criar um arquivo xlsx programaticamente no iOS. Como os dados internos dos arquivos xlsx são basicamente armazenados em arquivos xml separados, tentei recriar a estrutura xlsx com todos os seus arquivos e subdiretórios, compactá-los em um arquivo zip e definir sua extensão como xlsx. Eu uso o analisador / analisador GDataXML para criar todos os arquivos xml necessários. No entanto, o arquivo que recebo não pode ser aberto como arquivo xlsx. Mesmo se eu ripar todos os dados de um arquivo xlsx válido, crie todos os arquivos xml manualmente copiando os dados dos arquivos xml originais e compactando-os manualmente, não posso recriar um arquivo xlsx válido.

As perguntas são:

xlsx é realmente apenas um arquivo contendo arquivos xml?Como faço para criar um arquivo xlsx válido programaticamente se eu não puder apenas compactar arquivos xml em um arquivo zip e definir sua extensão como xlsx?

questionAnswers(2)

yourAnswerToTheQuestion