Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

607
Views
.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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!