Mandar Conjunto de datos a un ASCII delimitado por comas.

17/05/2006 - 18:35 por Jaime Infante | Informe spam
Tengo un conjunto de datos, cual seria la forma mas sencilla de enviar esta
información a una
archivo ASCII delimitado por comas.

Gracias

Jaime Infante

Preguntas similare

Leer las respuestas

#1 SoftJaén
18/05/2006 - 15:12 | Informe spam
"Jaime Infante" escribió:

Tengo un conjunto de datos, cual seria la forma mas sencilla de
enviar esta información a una archivo ASCII delimitado por comas.




Hola, Jaime:

Ignoro si será la forma más sencilla, pero puedes crear un archivo de texto,
y conforme vas recorriendo todas las filas de un objeto DataTable incluido
en el conjunto de datos, vas escribiendo los datos en el archivo de texto,
separando las columnas o campos por comas.

Si lo deseas probar, importa en cualquier módulo el espacio de nombres
System.IO, y ejecuta el siguiente código, donde se supone que la variable
objeto « ds » hace referencia al objeto DataSet que tienes creado:

' Creamos un simple archivo de texto
'
Dim sw As New System.IO.StreamWriter( _
"C:\Mis documentos\Archivo.txt")

Dim dr As DataRow

' Recorremos todas las filas de un objeto DataTable
' incluido en el conjunto de datos
'
For Each dr In ds.Tables("DataTableName").Rows
' Escribimos separados por comas, las tres
' primeras columnas del objeto DataTable
'
sw.WriteLine(dr.Item(0).ToString & "," & _
dr.Item(1).ToString & "," & _
dr.Item(2).ToString)
Next

' Cerramos el archivo
'
sw.Close()

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 Jaime Infante
18/05/2006 - 15:35 | Informe spam
Muchas gracias Enrique, justo lo que necesitaba.

Una pregunta mas si quisiera solo enviar algunos campos seleccionados por el
nombre del campo.

Saludos


"SoftJaén" escribió en el mensaje
news:%23%23Wn$
"Jaime Infante" escribió:

Tengo un conjunto de datos, cual seria la forma mas sencilla de
enviar esta información a una archivo ASCII delimitado por comas.




Hola, Jaime:

Ignoro si será la forma más sencilla, pero puedes crear un archivo de
texto, y conforme vas recorriendo todas las filas de un objeto DataTable
incluido en el conjunto de datos, vas escribiendo los datos en el archivo
de texto, separando las columnas o campos por comas.

Si lo deseas probar, importa en cualquier módulo el espacio de nombres
System.IO, y ejecuta el siguiente código, donde se supone que la variable
objeto « ds » hace referencia al objeto DataSet que tienes creado:

' Creamos un simple archivo de texto
'
Dim sw As New System.IO.StreamWriter( _
"C:\Mis documentos\Archivo.txt")

Dim dr As DataRow

' Recorremos todas las filas de un objeto DataTable
' incluido en el conjunto de datos
'
For Each dr In ds.Tables("DataTableName").Rows
' Escribimos separados por comas, las tres
' primeras columnas del objeto DataTable
'
sw.WriteLine(dr.Item(0).ToString & "," & _
dr.Item(1).ToString & "," & _
dr.Item(2).ToString)
Next

' Cerramos el archivo
'
sw.Close()

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o sugerido en el presente mensaje.

Respuesta Responder a este mensaje
#3 SoftJaén
18/05/2006 - 16:02 | Informe spam
"Jaime Infante" preguntó:

si quisiera solo enviar algunos campos seleccionados por el nombre del
campo.



La propiedad «Item» del objeto DataRow se encuentra sobrecargada, y puedes
especificar los campos, bien por el índice de la columna, o por su nombre:

sw.WriteLine(dr.Item("Campo1").ToString & "," & _
dr.Item("Campo2").ToString & "," & _
dr.Item("Campo3").ToString)


Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#4 Jaime Infante
18/05/2006 - 17:00 | Informe spam
Muchisimas gracias por tu ayuda Enrique.

Saludos

"SoftJaén" escribió en el mensaje
news:%
"Jaime Infante" preguntó:

si quisiera solo enviar algunos campos seleccionados por el nombre del
campo.



La propiedad «Item» del objeto DataRow se encuentra sobrecargada, y puedes
especificar los campos, bien por el índice de la columna, o por su nombre:

sw.WriteLine(dr.Item("Campo1").ToString & "," & _
dr.Item("Campo2").ToString & "," & _
dr.Item("Campo3").ToString)


Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o sugerido en el presente mensaje.

Respuesta Responder a este mensaje
#5 SoftJaén
18/05/2006 - 17:58 | Informe spam
Aprovechando la respuesta que te he indicado, me he entretenido en crear un
procedimiento seguro para crear un archivo de texto delimitado, al cual le
podrás indicar, el carácter separador de los campos, y si deseas que los
campos alfanuméricos aparezcan encerrados entre comillas dobles. Si lo
deseas ver, lo acabo de "colgar" en mi web:

Cómo crear un archivo de texto delimitado con los datos existentes en un
DataSet
http://mvp-access.com/softjaen/base...onet09.htm

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida