我试图以Excel格式创建报告,准备通过电子邮件发送。到目前为止,我发现最好和最简单的方法是按如下所示创建一个xml文档并将其保存为xls。在iOS上创建Excel 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>
然后,我可以节省使用
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];
然而这份文件,之后我发送电子邮件,并尝试打开XLS文件,xml将显示在电子表格来代替。任何人都可以请我带着正确的方向来创建这个xls文件?
嗯,对我来说Excel 2010的作品 – CarlJ
感谢您的评论!是的,它在Excel 2010上工作正常。但它显示文件格式与文件扩展名不匹配的错误。它不会在Google文档和网页中打开。所以我认为这个问题可能来自我正在保存的xml文档。 – ChrisBorg
有没有人可能知道一个很好的方式来形成一个XML文档,它可以被Google Spreadsheets和Numbers支持呢? – ChrisBorg