Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

605
Vistas
.Net web api descargar archivo csv (separador de Excel)

Tengo un punto final de controlador desde el que quiero generar un archivo csv y descargarlo.

Actualmente estoy usando nuget CsvHelper y mi código es así:

 var cc = new CsvConfiguration(new System.Globalization.CultureInfo("sl-SI")); using (var ms = new MemoryStream()) { using (var sw = new StreamWriter(stream: ms, encoding: new UTF8Encoding(true))) { using (var cw = new CsvWriter(sw, cc)) { cw.WriteRecords(ListOfReports); }// The stream gets flushed here. return File(ms.ToArray(), "text/csv", $"{docNumber.Trim()}_{docType}.csv"); } }

Generó csv bastante bien, pero el problema era que si lo abría en Excel, toda la fila estaba en la primera columna y no estaba dividida.

Agregué esta parte:

 cw.WriteField("sep=,", false); cw.NextRecord();

Antes cw.WriteRecords(ListOfReports);, que lo hacía funcionar en Excel, pero si lo abro en el Bloc de notas, hay un sep=, en mi primera fila.

Noté que hay una diferencia en CultureInfo. Si configuro "sl-SI", funcionará correctamente en las ventanas eslovenas (el separador será ;), si configuro "en-US", funcionará en Windows en inglés (separador,). Pero, ¿qué necesito hacer para trabajar en cualquier cultura?

¿Alguien tiene alguna idea de cómo solucionar esto para que funcione correctamente en Excel y cualquier otro editor de texto?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto es efectivamente lo mismo que esta pregunta de SuperUser , pero parece que desea una solución orientada a la programación en lugar de una orientada al usuario.

El problema es fundamentalmente que Excel es realmente malo para manejar archivos CSV, especialmente cuando se tienen en cuenta las culturas que no son de EE. UU. Mi sugerencia sería permitir que los usuarios descarguen un archivo de Excel real usando una biblioteca como DocumentFormat.OpenXml .

Si tiene dos casos de uso separados para sus descargas (es decir, algunos usuarios que abren el archivo en el bloc de notas o lo consumen con un software que lee CSV y otros que abren el archivo en Excel), proporcione a los usuarios opciones separadas para descargar en CSV o Excel .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda