Component one C1.EXEL ayuda!
Me presento, soy un joven programador que justo acabada de finalizar sus estudios. Estoy en una empresa donde trabajan con component one, un complemento de visual.
Mi duada es la siguiente, estoy volcando un programa que te genera un exel, pero son muchos libros muchas tablas y va muy lento, lo estoy programando con component one. C1.exel porque asi va mucho mas rapido y puedo añadirle funciones nuevas pero me aparece una duda..
en el codigo basico tengo esto.
xlHoja = xllibro.Worksheets.Add(, CType(xllibro.Worksheets(ContadorHojasRepresentantes), Excel.Worksheet))
xlHoja.Range("A1").Select()
xlAplicacion.Selection.PasteSpecial(Paste:=Excel.XlPasteType.xlPasteAll)
xlHoja.Range("A1").Select()
xlHoja.Name = NombreRepresentante
xllibro.SaveAs(sArchivo2, 56)
ContadorHojasRepresentantes += 1
xllibro.Close()
xllibro = Nothing
que lo que hace es simplemente un cortar pegar, pero en component 1 c1.exel, no esta la opción de copy y tampoco quiero que se copien con control c, control v prefiero que coja el valor y lo ponga en la otra celda.En la ayuda del component one, lo uncio que sale es como copiar de un libro a otro, pero no celdas determinadas o un rango de ellas. Hos pongo el ejemplo.
Dim wb As New C1XLBook()
wb.Load("C:\test.xls")
Dim xb As New C1XLBook()
xb.Sheets.Add("Test")
Dim source As XLSheet = wb.Sheets(0)
Dim dest As XLSheet = xb.Sheets("Test")
Dim row As Integer, col As Integer
For row = 0 To source.Rows.Count - 1
For col = 0 To source.Columns.Count - 1
dest(row, col).Value = source(row, col).Value
Next col
Next row
xb.Save("C:\test2.xls")
System.Diagnostics.Process.Start("C:\test2.xls")
lo que quiero es copiar un rango de valores y copiarlos en otras celdas.
para mas ayuda os pongo la ayuda de component one
http://helpcentral.componentone.com/nethelp/c1excel/
De la unica manera que recorro ahora las celdas es con un for que me corra del rebes. Pero no se como igualarlo al otro rango de celdas y tampoco se si lo ago bien ya que no acabdo de pillar la idea.
porfavor si alguien usa este complemeneto que me ayude.
mi codigo:
Dim row As Integer = 7
Dim col As Integer
If iFila > 7 Then
For col = 15 To xlHoja.Columns.Count - 1
xlHoja(row, col).Value = ¿?¿¿?
Next col
End If
aqui recorro una fila de celdas y me quedo con los valores de ella que serian = a los valores de las celdas del nuevo rango, asi no haria un copy paste y no saturaria la memoria.
Mi duada es la siguiente, estoy volcando un programa que te genera un exel, pero son muchos libros muchas tablas y va muy lento, lo estoy programando con component one. C1.exel porque asi va mucho mas rapido y puedo añadirle funciones nuevas pero me aparece una duda..
en el codigo basico tengo esto.
xlHoja = xllibro.Worksheets.Add(, CType(xllibro.Worksheets(ContadorHojasRepresentantes), Excel.Worksheet))
xlHoja.Range("A1").Select()
xlAplicacion.Selection.PasteSpecial(Paste:=Excel.XlPasteType.xlPasteAll)
xlHoja.Range("A1").Select()
xlHoja.Name = NombreRepresentante
xllibro.SaveAs(sArchivo2, 56)
ContadorHojasRepresentantes += 1
xllibro.Close()
xllibro = Nothing
que lo que hace es simplemente un cortar pegar, pero en component 1 c1.exel, no esta la opción de copy y tampoco quiero que se copien con control c, control v prefiero que coja el valor y lo ponga en la otra celda.En la ayuda del component one, lo uncio que sale es como copiar de un libro a otro, pero no celdas determinadas o un rango de ellas. Hos pongo el ejemplo.
Dim wb As New C1XLBook()
wb.Load("C:\test.xls")
Dim xb As New C1XLBook()
xb.Sheets.Add("Test")
Dim source As XLSheet = wb.Sheets(0)
Dim dest As XLSheet = xb.Sheets("Test")
Dim row As Integer, col As Integer
For row = 0 To source.Rows.Count - 1
For col = 0 To source.Columns.Count - 1
dest(row, col).Value = source(row, col).Value
Next col
Next row
xb.Save("C:\test2.xls")
System.Diagnostics.Process.Start("C:\test2.xls")
lo que quiero es copiar un rango de valores y copiarlos en otras celdas.
para mas ayuda os pongo la ayuda de component one
http://helpcentral.componentone.com/nethelp/c1excel/
De la unica manera que recorro ahora las celdas es con un for que me corra del rebes. Pero no se como igualarlo al otro rango de celdas y tampoco se si lo ago bien ya que no acabdo de pillar la idea.
porfavor si alguien usa este complemeneto que me ayude.
mi codigo:
Dim row As Integer = 7
Dim col As Integer
If iFila > 7 Then
For col = 15 To xlHoja.Columns.Count - 1
xlHoja(row, col).Value = ¿?¿¿?
Next col
End If
aqui recorro una fila de celdas y me quedo con los valores de ella que serian = a los valores de las celdas del nuevo rango, asi no haria un copy paste y no saturaria la memoria.