Ir al contenido

Write CSV

Tipo: write-csv  ·  Paquete: CSV Activities v1.0.5  ·  Salida: string

Escribe una DataTable a un archivo CSV. Útil para exportar datos a un formato que cualquier sistema puede importar.

Vuelca la dataTable al archivo de path usando el delimiter indicado. Por defecto escribe los nombres de columna como fila de encabezado (includeHeader = true). Devuelve la ruta escrita.

  • Sobrescribe siempre: si el archivo existe, lo reemplaza. Si la carpeta no existe, la crea.
  • Comillas automáticas: un valor que contiene el delimitador, comillas dobles o un salto de línea se escribe entre comillas ("Pérez, Ana"), con las comillas internas duplicadas.
  • Valores: cada celda se convierte a texto con la configuración regional de la máquina (números con su separador decimal, fechas con su formato). Para controlar el formato, prepara antes columnas de texto (por ejemplo, con ToString("yyyy-MM-dd")). Las celdas vacías quedan como campos vacíos.
  • Líneas: cada fila termina con salto de línea de Windows (\r\n).
  • Codificación: con utf-8 (por defecto) el archivo lleva la marca BOM, que ayuda a que Excel muestre bien las tildes.
ParámetroTipoPor defectoDescripción
pathstring—Ruta del archivo CSV de salida, con su carpeta.
dataTableDataTable—La tabla a escribir.
ParámetroTipoPor defectoDescripción
delimiterstring","Separador de campos. Solo se usa el primer carácter. Para tabulador, ((char)9).ToString().
includeHeaderbooltrueEscribir la fila de encabezados con los nombres de columna.
encodingstring"utf-8"Codificación del archivo: utf-8, iso-8859-1, utf-16… Ver codificación.

Devuelve un string con la ruta del archivo escrito (tal como la indicaste en path). Una tabla sin filas produce un archivo con solo el encabezado (o vacío, con includeHeader = false).

MensajeCausa y solución
'dataTable' debe ser un DataTable.La expresión de dataTable no es una tabla (es nula, una lista u otro tipo). Pasa la variable con la DataTable, por ejemplo la salida de Read CSV o de una consulta.
The process cannot access the file '…' because it is being used by another process.El archivo de destino está abierto (por ejemplo en Excel). Ciérralo antes de escribir.
Access to the path '…' is denied.Sin permiso de escritura en la carpeta.
Index was outside the bounds of the array.delimiter está vacío. Indica un carácter.
'path' es obligatorio.La expresión de path dio nulo.

Exportar el resultado de una consulta y enviarlo por correo:

DB Query sql = "SELECT * FROM Clientes" → output: clientes
Write CSV path = "C:/export/clientes.csv" dataTable = clientes delimiter = ";" → output: rutaCsv
SMTP Send ... subject = "Exportación de clientes" attachments = arr(rutaCsv)