Exportar Grafica excel a Imagen desde VBNET
Publicado por Rober (7 intervenciones) el 01/04/2008 10:56:52
Hola quisiera exportar las graificas que tengo en una hoja excel como imagenes en una ruta de terminada (chart.export). Pero no lo Consigo... esto es lo que hago:
Dim AppExcel As Excel.Application
AppExcel = New Excel.Application
Dim ExcelP As Excel.Workbook
Dim hojaP As Excel.Worksheet
Dim FicheroExcelP As String
Dim NombreHojaP As String
FicheroExcelP = "c:mi ruta"
NombreHojaP = "Hoja1"
ExcelP= CType(AppExcel.Workbooks.Open(FicheroExcelP), Excel.Workbook)
hojaP= CType(ExcelP.Sheets(NombreHojaP), Excel.Worksheet)
'Selecciono las gráficas, las cuento y las paso a Imagen.
Dim grafico As Excel.ChartObject
Dim i As Integer
Dim Ngraf As Integer = 0
Dim nombrearchivo As String
Ngraf = 0 ' inicializo para volver a contar si selecciono generar y pegar
For Each grafico In hojaPVgon.ChartObjects
Ngraf = Ngraf + 1
nombrearchivo = "C:mi ruta destinografica" & Ngraf & ".png"
'grafico.Chart.Export(nombrearchivo, "png") ' exporto a png
grafico.Activate()
grafico.Chart.ChartArea.Select()
grafico.Chart.Export(nombrearchivo, "png") ' exporto a png
Next
Dim AppExcel As Excel.Application
AppExcel = New Excel.Application
Dim ExcelP As Excel.Workbook
Dim hojaP As Excel.Worksheet
Dim FicheroExcelP As String
Dim NombreHojaP As String
FicheroExcelP = "c:mi ruta"
NombreHojaP = "Hoja1"
ExcelP= CType(AppExcel.Workbooks.Open(FicheroExcelP), Excel.Workbook)
hojaP= CType(ExcelP.Sheets(NombreHojaP), Excel.Worksheet)
'Selecciono las gráficas, las cuento y las paso a Imagen.
Dim grafico As Excel.ChartObject
Dim i As Integer
Dim Ngraf As Integer = 0
Dim nombrearchivo As String
Ngraf = 0 ' inicializo para volver a contar si selecciono generar y pegar
For Each grafico In hojaPVgon.ChartObjects
Ngraf = Ngraf + 1
nombrearchivo = "C:mi ruta destinografica" & Ngraf & ".png"
'grafico.Chart.Export(nombrearchivo, "png") ' exporto a png
grafico.Activate()
grafico.Chart.ChartArea.Select()
grafico.Chart.Export(nombrearchivo, "png") ' exporto a png
Next
Valora esta pregunta


0