Write CSV
Write CSV
Sección titulada «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.
Cómo funciona
Sección titulada «Cómo funciona»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ámetros requeridos
Sección titulada «Parámetros requeridos»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
path | string | — | Ruta del archivo CSV de salida, con su carpeta. |
dataTable | DataTable | — | La tabla a escribir. |
Parámetros opcionales
Sección titulada «Parámetros opcionales»| Parámetro | Tipo | Por defecto | Descripción |
|---|---|---|---|
delimiter | string | "," | Separador de campos. Solo se usa el primer carácter. Para tabulador, ((char)9).ToString(). |
includeHeader | bool | true | Escribir la fila de encabezados con los nombres de columna. |
encoding | string | "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).
Errores comunes
Sección titulada «Errores comunes»| Mensaje | Causa 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. |
Ejemplo
Sección titulada «Ejemplo»Exportar el resultado de una consulta y enviarlo por correo:
DB Query sql = "SELECT * FROM Clientes" → output: clientesWrite CSV path = "C:/export/clientes.csv" dataTable = clientes delimiter = ";" → output: rutaCsvSMTP Send ... subject = "Exportación de clientes" attachments = arr(rutaCsv)Actividades relacionadas
Sección titulada «Actividades relacionadas»- Read CSV — leer un CSV.
- Write Excel Sheet — exportar a
.xlsx.