Estoy creando una tabla HTML que se abrirá como una hoja de cálculo en Excel. ¿Qué etiqueta HTML o estilo CSS puedo usar para "decirle" a Excel que muestre el contenido de la celda como texto?¿Formatea la celda de la tabla HTML para que los formatos de Excel sean texto?
Respuesta
Puede aplicar formato a las celdas de números, texto, fechas, etc.
Véase mi respuesta anterior sobre este: HTML to Excel: How can tell Excel to treat columns as numbers?
(fragmento ajustado)
Si se agrega una Clase de CSS para su página:
.num {
mso-number-format:General;
}
.text{
mso-number-format:"\@";/*force text*/
}
Y golpee esas clases en sus TD, ¿funciona?
<td class="num">34</td>
<td class="num">17.0</td>
<td class="text">067</td>
Hay un problema al usar esa solución (estilo CSS con formato de número). El Excel muestra el error "Número guardado como texto", lo que puede ser inconveniente en algunos casos. Para evitar este problema, es posible utilizar el carácter ZERO WIDTH SPACE (& # 8203;) en el comienzo del campo.
¡Deja un personaje invisible, pero se ve mejor! – TheStoryCoder
Esto es lo ÚNICO que me ayudó a forzar a una celda a enviar mensajes de texto. ¡Pre-anexado esto al valor y BLAMO! ¡Texto! – Gary
No tengo suficientes representantes para comentar o votar, pero la respuesta de Raposo funcionó muy bien para mí. Nuestro sistema importa informes de SSRS y los ejecuta en modo local. Almacena las consultas de DataSet (s) en la base de datos y las extrae en tiempo de ejecución. Sin embargo, para las exportaciones de Excel solo ejecuta los datos resultantes de la consulta en un objeto DataGrid y lo escribe directamente en la secuencia como HTML, estableciendo la extensión en .xls. Poner la solución de Raposo en consulta conjunto de datos del informe:
SELECT someColumn = '​' + someColumn
FROM, etc.
y retirarlo en la expresión del campo de SSRS:
=Replace(Fields!someColumn.Value, "​", "")
es la única cosa que he encontrado que funciona. ¡Gracias!
Excelente solución! Lo hice como a continuación
HttpContext.Current.Response.Write("<style> .txt " + "\r\n" + " {mso-style-parent:style0;mso-number-format:\"" + @"\@" + "\"" + ";} " + "\r\n" + "</style>");
HttpContext.Current.Response.Write("<Td class='txt'>​");
HttpContext.Current.Response.Write(Coltext);
HttpContext.Current.Response.Write("</Td>");
y funciona bien para mí
he encontrado cinco soluciones para este problema:
formato al campo como texto según lo descrito por scunliffe. Esto tiene el problema del triángulo verde según lo afirma Raposo.
Use & # 8203; como lo describe Raposo. Esto tiene el problema de que el valor no es realmente un número. Esto podría ser un problema si los datos se extraen en algún sistema para su procesamiento.
Añadir el TD como <td> = "067" </td >. Esto tiene el mismo problema que el # 2.
Añadir la TD como <td> = texto (067 "000") </td >. Esto también tiene el mismo problema que el # 2.
Usa una clase CSS de.text3 {mso-number-format: "000";} y agrega esta clase al TD. Esta es mi solución preferida pero tiene el problema de requerir múltiples clases si tiene números de diferentes longitudes. Si escribe su encabezado y luego itera a través de sus datos, debe agregar todas las clases posibles antes de saber cuál de ellas necesitará. Pero esto tiene la ventaja de que el texto es realmente un número y no hay un triángulo verde.
Puede resolver el problema también mediante la adición de espacio de no separación:
antes de que el valor del elemento <td>
.
Ejemplo: <td> 0:12:12.185</td>
En lugar de: <td>0:12:12.185</td>
- 1. Insertar tabla en la celda (excel)
- 2. formatos de celda en phpexcel
- 3. Excel cambia los formatos de fecha
- 4. ¿Cómo obtener texto de cada celda de una tabla HTML?
- 5. Centrar verticalmente el texto en la celda de la tabla HTML en Java JLabel
- 6. HTML Texto con etiquetas para texto formateado en una celda de Excel
- 7. jQuery - encontrar la fila de la tabla que contiene la celda de la tabla que contiene texto específico
- 8. ¿Cómo hacer que td (celda) de la tabla html se expanda para que la fila encaje en una línea?
- 9. Texto del centro en la celda de la tabla
- 10. ¿Puede Excel interpretar una celda como HTML?
- 11. ¿Cómo se formatea cadenas localizadas para que las palabras sueltas de una oración sean un enlace?
- 12. HTML CSS Cómo detener una celda de la tabla para que no se expanda
- 13. Problema de formato de celda de Excel
- 14. Exportar tabla HTML a Excel
- 15. celda de Excel desde la que se llama una función
- 16. Convertir la tabla HTML en texto
- 17. Fórmula de Excel para verificar el contenido de la celda
- 18. ¿Por qué html lo llama 'td' y no 'tc' para la celda de la tabla?
- 19. Lista desplegable en la celda de Excel
- 20. Editar una celda de tabla HTML
- 21. salto de línea de fuerza en la celda de la tabla html
- 22. Alinear a la derecha y alinear el texto a la izquierda en la misma celda de la tabla HTML
- 23. Exportar tabla HTML a Excel utilizando ASP.NET
- 24. IE8 altura de la celda de la tabla de estiramiento
- 25. Cómo evitar que el texto en una celda de la tabla se empaquete
- 26. CSS Establecer color de fondo de celda de tabla utilizando texto dentro de la celda de tabla
- 27. Excel XML Newline en la Celda
- 28. Agregando una nueva línea en la celda de Excel generada a través de html
- 29. cómo ajustar el cuadro de texto en la celda de la tabla
- 30. ¿Cómo formatear la tabla html con estilos en línea para que parezca una tabla de Excel renderizada?
tardó demasiado tiempo a google para esta solución .. estas tablas html para sobresalir puntas de hojas de cálculo son imposibles de encontrar – John
brillante! esencial para los códigos postales que comienzan con 0 – squarecandy
hizo mi día demasiado ... casi un año después para encontrar esto ... jaja Gracias de todos modos :) – pojomx