我試圖以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