This question es similar, pero no resalta ninguna posibilidad de exportar los datos. ¿Pensamientos?¿Es posible utilizar cualquier fanatismo de HTML5 para exportar el almacenamiento local a Excel?
Respuesta
Creo que estás malentendido la respuesta a la pregunta que está conectado, se sugiere que utilice un URI de datos para la exportación.
Excel es un objetivo algo complicado de apuntar ya que el formato de archivo es en sí mismo binario (or OOXML). Si solo desea algo que abre en Excel, entonces puede exportar el CSV más sencillo como un URI de datos. El siguiente código es un poco tosco y sólo se ha probado en Firefox:
function exportData() {
var data = '';
for (var i=1;i<=2;i++) {
var sep = '';
for (var j=1;j<=4;j++) {
data += sep + document.getElementById(i + '_' + j).value;
sep = ',';
}
data += '\r\n';
}
var exportLink = document.createElement('a');
exportLink.setAttribute('href', 'data:text/csv;base64,' + window.btoa(data));
exportLink.appendChild(document.createTextNode('test.csv'));
document.getElementById('results').appendChild(exportLink);
}
Aquí está el marcado de página:
<input type="number" id="1_1" value="2">,
<input type="number" id="1_2" value="1">,
<input type="number" id="1_3" value="4">,
<input type="number" id="1_4" value="3">
<br>
<input type="number" id="2_1" value="1">,
<input type="number" id="2_2" value="2">,
<input type="number" id="2_3" value="3">,
<input type="number" id="2_4" value="4">
<br>
<button onclick="exportData()">Export as CSV</button>
<div id="results"></div>
Demo here. Haga clic en el botón que obtiene un enlace, haga clic en el enlace y obtendrá un archivo. Cambie los valores, haga clic en el enlace nuevamente y obtendrá un archivo diferente. Firefox me hizo seleccionar Excel cada vez para abrirlo, pero no sé si esa es mi configuración o un problema general.
CSV in Excel 2007 http://www.boogdesign.com/images/external/data-uri-csv.png
Como he dicho, sólo probado en Firefox, y que sólo funcionará en los navegadores que soportan Data URIs. También necesita window.btoa() function o implementar su propio base64 encoder.
No conozco ninguna biblioteca de Javascript que pueda crear un archivo de Excel. Pero simplemente podría exportarlo como HTML o CSV. Tenga en cuenta que Javascript no puede crear archivos (aún), pero el borrador de HTML sirve para esto: http://www.w3.org/TR/file-writer-api/
Excel es bastante bueno para leer tablas en HTML, por lo que podría simplemente hazlo y abre el archivo HTML con Excel.
Se puede crear un archivo para descargar usando Downloadify: https://github.com/dcneiner/Downloadify
Estoy pensando en hacer que el usuario copie/pegue. Este no es un producto comercial, solo una utilidad, entonces tal vez está bien preguntar a la gente. Esperaba una API de HTML5 whizbang que ... No sé, hice magia o algo ... –
+1 para solicitar magia :) – technomalogical
Si cambia su enfoque hacia el lado del servidor, puede generar un tipo MIME personalizado de tu elección. CSV es una forma simple de exportar datos a Excel. –
- 1. Almacenamiento local HTML5 no persistente
- 2. ¿Para qué puedes usar el almacenamiento local de HTML5?
- 3. datos de importación/exportación almacenamiento local de HTML5
- 4. Almacenamiento local HTML5 y Chrome
- 5. Exportar SQL a Excel
- 6. datagridview exportar a excel
- 7. Exportar a Excel C#
- 8. Exportar de PHP a Excel
- 9. (HTML 5) ¿Cuánto es demasiado almacenamiento local?
- 10. Exportar tabla HTML a Excel
- 11. ASP.Net Exportar datos a Excel
- 12. php + jqgrid + exportar a excel
- 13. ¿Es posible montar almacenamiento de blobs en mi máquina local para el despliegue?
- 14. Response.redirect mata el almacenamiento local?
- 15. Exportar datos de consulta SQL a Excel
- 16. jQuery DataTables: exportar columnas individuales a Excel
- 17. ¿Es posible utilizar el almacenamiento RDF también como una base de datos orientada a documentos?
- 18. Exportar registros de Datagridview a Excel
- 19. HTML 5 almacenamiento local
- 20. almacenamiento local y almacenamiento de sesión
- 21. Almacenamiento de archivos de audio en html5 almacenamiento local-descarga de archivos de audio con javascript
- 22. local Almacenamiento y bloqueo
- 23. ¿Qué versión mínima de Android es compatible con el almacenamiento local HTML5?
- 24. Exportar informes de Jenkins a Excel
- 25. Exportar a Excel desde un repetidor?
- 26. ¿En qué se diferencia indexedDB conceptualmente del almacenamiento local HTML5?
- 27. Exportar a Excel en Asp.net MVC
- 28. C# (WinForms-App) exportar DataSet a Excel
- 29. exportar a Excel en jquery o jqGrid
- 30. exportar IEnumerable <T> a Excel
Interesante. Cuando abro el resultado en Excel obtengo dos celdas, A1 ('2,1,4,3') y A2 ('1,2,3,4'). Por lo tanto, reconoce filas pero no columnas. Sin embargo, gracias por comenzar (y tiene razón acerca de la pregunta vinculada, no es la respuesta correcta para la exportación) –
@AlexMcp ¿Tal vez depende de qué versión de Excel esté usando? He agregado una captura de pantalla de lo que estoy viendo en Excel 2007 – robertc
Wow, es tan bueno saber sobre esto. Gracias :-) –