我正在编写一个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文件?
我正在尝试以Excel格式创建报告,准备通过电子邮件发送.到目前为止,我发现最好和最简单的方法是创建一个xml文档,如下所示并保存为xls.
<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
<Worksheet ss:Name="Sheet1">
<Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="2" x:FullColumns="1" x:FullRows="1">
<Row>
<Cell><Data ss:Type="String">Name</Data></Cell>
<Cell><Data ss:Type="String">Example</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">Value</Data></Cell>
<Cell><Data ss:Type="Number">123</Data></Cell>
</Row>
</Table>
</Worksheet>
</Workbook>
Run Code Online (Sandbox Code Playgroud)
然后我可以使用保存此文档
NSArray *documentDirectoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [NSString stringWithFormat:@"%@/Report.xls", [documentDirectoryPath objectAtIndex:0]];
[xmlString writeToFile:docDir atomically:YES encoding:NSUTF8StringEncoding error:NULL];
[serializedData writeToFile:docDir atomically:YES];
Run Code Online (Sandbox Code Playgroud)
但是,在我发送电子邮件并尝试打开xls文件后,xml将显示在电子表格中.有谁能请我指向正确的方向来创建这个xls文件?
如何在 Android 应用程序和 flutter web 上将 Firestore 中的数据转换为 Excel 工作表?任何回复将不胜感激...提前致谢!