如何在不使用LibXL的情况下以编程方式创建标准电子表格文件?

时间:2014-12-05 06:29:09

标签: objective-c ipad xls

我想在objective-C中创建标准电子表格文件,也可以在ipad中打开,而不使用LibXL等付费库。

我已经创建了HTML表格,只需使用以下代码创建.xls文件(string1包含HTML表格):

NSURL * documentPath = [NSFileManager.defaultManager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask].lastObject;    
NSURL *filePath1 = [documentPath URLByAppendingPathComponent:@"FileName.xls"];

[string1 writeToFile:filePath1.path atomically:YES encoding:NSUTF8StringEncoding error:nil];

此文件在MS Excel中打开没有问题,但无法在ipad中打开。那么它的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

确定CSV非常简单。它代表逗号分隔值,就是这样。

例如,如果您想要一个包含Name,Date列的人员表,您可以执行以下操作:

NSMutableString *csvString = [[NSMutableString alloc] initWithString:@"Name,Date\n"];//The \n character means new row
for (Person *p in array) {
    //This is an arbitrary class / array
    [csvString appendFormat:@"%@,%@\n", p.name, p.date]
}

NSString *path = //File path ending in myFile.csv
NSError *error = nil;
BOOL success = [str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error]
if (!success) {
    NSLog(@"An error occurred: %@", error.localizedDescription);
}
else {
    NSLog(@"File written successfully to path: %@", path);
}

大多数数字运算应用程序e.t.c都可以读取此文件,但缺少格式。