在Cocoa中创建Excel(.xlsx)文件

Aus*_*tin 19 excel cocoa objective-c xlsx

我正在编写一个Cocoa应用程序,我正在尝试导出到Excel XML格式(ISO/IEC 29500-1),该格式基本上是一个zip文件,其中包含一堆以.xlsx扩展名命名的XML文件.

我已经尝试生成AppleScript并NSAppleScript用于创建Excel文件,但该文件很慢,并且用户必须在其计算机上安装Excel.

我能够通过将XML写入Objective C中的文件并将其压缩并将zip重命名为来创建一个简单的.xlsx Excel文件.xlsx.Excel可以打开该文件,但是数字在尝试打开我创建的文件时出错.似乎Excel必须实现所有(或大部分)ISO/IEC规范,而Numbers只能打开Excel风格的版本.

如何使用Cocoa和Objective-c创建工作的Excel文件?

Ash*_*kad 11

如何在Excel文件中封装HTML表格?我已经检查过这个有效,我可以用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];
Run Code Online (Sandbox Code Playgroud)


Ami*_*obo 2

维基百科提供了一些库的链接,这可能会给您一个良好的开端。

如果不需要 Office Open XML 格式,并且不需要导出过于复杂的文件,我还建议检查将文件保存为 Excel 也可以读取的样式表格式的 HTML。了解如何将所需的 HTML 设置为电子表格格式的简单方法是在 Excel 中创建文件并将其另存为 HTML。