Подтвердить что ты не робот

Создание файлов Excel (.xlsx) в Cocoa

Я пишу приложение Cocoa, и я пытаюсь экспортировать в формат Excel XML (ISO/IEC 29500-1), который представляет собой в основном zip файл с кучей XML файлов, в котором он называется с .xlsx.

Я попытался создать AppleScript и использовать NSAppleScript для создания файла Excel, который работает, но медленный, и пользователь должен установить Excel на своей машине.

Мне удалось создать простой .xlsx файл Excel, записав XML в файлы Objective C и зашифровав их и переименовав zip в .xlsx. Excel мог открыть файл, но Numbers запустил ошибку, пытаясь открыть созданный мной файл. Кажется, что Excel должен был реализовать всю (или большую часть) спецификацию ISO/IEC, в то время как Numbers могут открывать только версию с приложением Excel.

Как создать рабочие файлы Excel с помощью Cocoa и Objective-c?

4b9b3361

Ответ 1

Как насчет инкапсуляции таблицы HTML в файл Excel? Я проверил, что это работает, и я могу открыть его с помощью Excel.

NSURL * documentsDirectory = [NSFileManager.defaultManager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask].lastObject;
NSURL *file = [documentsDirectory URLByAppendingPathComponent:@"contacts.xls"];
NSString* string = @"<table><tr><td>FOO</td><td>BAR</td></tr></table>";
[string writeToFile:file.path atomically:YES encoding:NSUTF8StringEncoding error:nil];

Ответ 2

Я работал с OpenOffice API, и он отлично работает. Я бы посоветовал вам работать с этим для создания файлов Excel. Если у вас нет времени/терпения, это может быть связано с тем, что у вас есть 2 ссылки для экспорта файлов, версия XLSX для Excels of the world, а затем отдельный экспортированный CSV файл для приложения Numbers.

Ответ 3

Википедия предлагает некоторые ссылки на библиотеки, которые, вероятно, дадут вам хорошее начало.

Если формат Office Open XML не является обязательным требованием, и вам не нужно экспортировать слишком сложные файлы, я также предлагаю проверить сохранение файлов в формате HTML в формате таблицы, который Excel также может читать. Простым способом научиться форматировать HTML, который вы хотите использовать в качестве электронной таблицы, является создание файла в Excel и сохранение его как HTML.