Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/01/2011, 14:57
Avatar de royrojas
royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 20 años, 1 mes
Puntos: 3
Respuesta: Insertar datos en un excel ????

Para recorrer un excel que ya tienes abierto lo haces en el worksheet,

por ejemplo

For x As Integer = 1 To worksheet.UsedRange.Rows.Count
...
.
Next

---

Para validar algun valor podrias hacerlo asi

If worksheet.Cells(x, 2).Value2.ToString.Contains("Total") Then ...

---

Para asignarle un valor a una celda en especifico

worksheet.Cells(x, col).Value2 = "Nuevo Texto"

a este campo le puedes asignar cualquier tipo de dato.

---

Tambien puedes asignar formulas o cualquier cosa que excel te permita, como

worksheet.Cells(x, col).Value2 = "=IF(ISERROR(" & Formx & "),0," & Formx & ")"

---

Puedes aplicarle formatos a tu hoja de excel para que tenga una mejor apariencia

Código:
Dim vFormato As Microsoft.Office.Interop.Excel.XlRangeAutoFormat
vFormato = XlRangeAutoFormat.xlRangeAutoFormatClassic1
worksheet.Range(worksheet.Cells(1, 1), worksheet.Cells(worksheet.UsedRange.Rows.Count, worksheet.UsedRange.Columns.Count)).AutoFormat(vFormato)
.
...
...
en este caso se le aplico el formado o diseño "xlRangeAutoFormatClassic1"

---

Darle formato solo al header

Código:
worksheet.Range(worksheet.Cells(1, 1), worksheet.Cells(1, worksheet.UsedRange.Columns.Count)).Font.Bold = True
worksheet.Range(worksheet.Cells(1, 1), worksheet.Cells(1, worksheet.UsedRange.Columns.Count)).Font.Size = 12
worksheet.Range(worksheet.Cells(1, 1), worksheet.Cells(1, worksheet.UsedRange.Columns.Count)).Font.Italic = True
.
...
...
---

Si queremos aplicarle formato a la linea de subtotales, pero no sabemos en cual linea estan, recorremos la hoja y aplicamos el formato a la linea correspondiente

Código:
            For x As Integer = 1 To worksheet.UsedRange.Rows.Count
                'bold a los subtotales
                If worksheet.Cells(x, 2).Value2.ToString.Contains("Total") Or _
                         worksheet.Cells(x, 2).Value2.ToString.Contains("Grand") Then
                    worksheet.Range(worksheet.Cells(x, 1), worksheet.Cells(x, worksheet.UsedRange.Columns.Count)).Font.Bold = True
                End If
            Next
.
...
...
----

creo que aqui te deje bastante ejemplos, espero que te sirvan
__________________
roy rojas
Programación en Español: DotNetcr.com