Estoy tratando de crear un informe en formato Excel, listo para ser enviado por correo electrónico. Hasta ahora, he descubierto que la mejor y más simple forma es crear un documento xml de la siguiente manera y guardarlo como xls.Crear archivos Excel XLS en iOS
<?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>
entonces podría guardar este documento usando
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];
Sin embargo, después de enviar el correo electrónico y tratar de abrir el archivo xls, el XML se muestra en la hoja de cálculo en su lugar. ¿Alguien podría llevarme a la dirección correcta para crear este archivo xls?
hmm, funciona para mí con Excel 2010 – CarlJ
gracias por su comentario! Sí, sí funcionó en Excel 2010. Sin embargo, muestra un error que indica que el formato del archivo no coincide con la extensión del archivo. y no se abre en google docs and iwork. entonces creo que el problema podría ser del documento xml que estoy guardando. – ChrisBorg
¿alguien puede saber una buena manera de formar un documento XML que también podría ser compatible con Google Spreadsheets y Numbers? – ChrisBorg