Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Abap OLE - Excel Chart - Lists ChartType

Former Member
0 Likes
1,681

Hello!

Is there a list or a way to see what is Possible to create graphics and also put the name to the axes as circled in red?

I ask because today needed to create this chart and the numbers that I tried I could not get it generates:

Today I'm creating my chart based on the link below:

http://scn.sap.com/message/13816704#13816704

Here is a sample code:

REPORT ZTESTE_CLAUDIOPOSE_01 .

*----------------------------------------------------------------------*

*                INCLUDE                                               *

*----------------------------------------------------------------------*

INCLUDE OLE2INCL.

*----------------------------------------------------------------------*

*                VARIAVEIS                                             *

*----------------------------------------------------------------------*

DATA: GS_EXCEL TYPE OLE2_OBJECT ,

GS_WBOOKLIST TYPE OLE2_OBJECT ,

GS_APPLICATION TYPE OLE2_OBJECT ,

GS_WBOOK TYPE OLE2_OBJECT ,

GS_ACTIVESHEET TYPE OLE2_OBJECT ,

GS_SHEETS TYPE OLE2_OBJECT ,

GS_NEWSHEET TYPE OLE2_OBJECT ,

GS_CELL1 TYPE OLE2_OBJECT ,

GS_CELL2 TYPE OLE2_OBJECT ,

GS_CELLS TYPE OLE2_OBJECT ,

GS_RANGE TYPE OLE2_OBJECT ,

GS_FONT TYPE OLE2_OBJECT ,

GS_INTERIOR TYPE OLE2_OBJECT ,

GS_COLUMNS TYPE OLE2_OBJECT ,

GS_CHARTS TYPE OLE2_OBJECT ,

GS_CHART TYPE OLE2_OBJECT ,

GS_CHARTTITLE TYPE OLE2_OBJECT ,

GS_CHARTTITLECHAR TYPE OLE2_OBJECT ,

GS_CHARTOBJECTS TYPE OLE2_OBJECT ,

**********************TESTE***************************

GS_CHARTS2 TYPE OLE2_OBJECT ,

GS_CHART2 TYPE OLE2_OBJECT ,

GS_CHARTTITLE2 TYPE OLE2_OBJECT ,

GS_CHARTTITLECHAR2 TYPE OLE2_OBJECT ,

GS_ACTIVESHEET2 TYPE OLE2_OBJECT ,

GS_CHARTOBJECTS2 TYPE OLE2_OBJECT .

DATA GV_SHEET_NAME(20) TYPE C .

DATA GV_OUTER_INDEX LIKE SY-INDEX .

DATA GV_INTEX(2) TYPE C .

DATA GV_LINE_CNTR TYPE I ."line counter

DATA GV_LINNO TYPE I ."line number

DATA GV_COLNO TYPE I ."column number

DATA GV_VALUE TYPE I ."data

*PARAMETERS: p_sheets TYPE i .

*----------------------------------------------------------------------*

*                INICIO - CRIAÇÃO DOC                                  *

*----------------------------------------------------------------------*

START-OF-SELECTION .

*--Forming sheet name

   GV_INTEX = SY-INDEX .

   GV_OUTER_INDEX = SY-INDEX .

   CONCATENATE 'Analise de Volume' GV_INTEX INTO GV_SHEET_NAME .

   CREATE OBJECT GS_EXCEL 'EXCEL.APPLICATION' .

   SET PROPERTY OF GS_EXCEL 'Visible' = 1 .

   GET PROPERTY OF GS_EXCEL 'Workbooks' = GS_WBOOKLIST .

   GET PROPERTY OF GS_WBOOKLIST 'Application' = GS_APPLICATION .

   SET PROPERTY OF GS_APPLICATION 'SheetsInNewWorkbook' = 1 .

   CALL METHOD OF GS_WBOOKLIST 'Add' = GS_WBOOK .

   GET PROPERTY OF GS_APPLICATION 'ActiveSheet' = GS_ACTIVESHEET .

*GV_SHEET_NAME = 'TEST4'.

   SET PROPERTY OF GS_ACTIVESHEET 'Name' = GV_SHEET_NAME .

   GV_LINE_CNTR = 1 ."line counter

*----------------------------------------------------------------------*

*                TITLE                                                 *

*----------------------------------------------------------------------*

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = 1

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING

     #1 = 1

     #2 = 4.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

*--Merging

   CALL METHOD OF GS_CELLS 'Merge' .

*--Setting title data

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINE_CNTR

     #2 = 1.

   SET PROPERTY OF GS_CELL1 'Value' = 'Análise de Volume' .

*--Formatting the title

   GET PROPERTY OF GS_CELL1 'Font' = GS_FONT .

   SET PROPERTY OF GS_FONT 'Underline' = 2 .

   SET PROPERTY OF GS_FONT 'Bold' = 1 .

*----------------------------------------------------------------------*

*                Inserção das colunas de dados                         *

*----------------------------------------------------------------------*

*--Formatting the area of additional data 1

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = 1

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1.

*    #2 = gs_cell2.

   CALL METHOD OF GS_CELLS 'Select' .

   GET PROPERTY OF GS_CELLS 'Font' = GS_FONT .

   SET PROPERTY OF GS_FONT 'Bold' = 1 .

*--Formatting the area of additional data 2

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = 1

     #2 = 5.

*----------------------------------------------------------------------*

*                SELECIONA DADOS                                       *

*----------------------------------------------------------------------*

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

   GET PROPERTY OF GS_CELLS 'Columns' = GS_COLUMNS .

   CALL METHOD OF GS_COLUMNS 'AutoFit' .

*--Bordering title data area

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = 1

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING

     #1 = GV_LINE_CNTR

     #2 = 6.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

   CALL METHOD OF GS_CELLS 'BorderAround'

   EXPORTING

   #1 = 1"continuous line

   #2 = 4."thick

*----------------------------------------------------------------------*

*                Inserção das colunas de dados                         *

*----------------------------------------------------------------------*

*--Putting axis labels

   GV_COLNO = 2 .

   GV_LINE_CNTR = GV_LINE_CNTR + 5 .

   GV_LINNO = GV_LINE_CNTR - 1 .

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = 1.

   SET PROPERTY OF GS_CELL1 'Value' = 'Toneladas' .

*--Generating some data

*     Passa primeiro valor

   GV_VALUE = 2 * 3 + GV_VALUE.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = GV_COLNO.

     SET PROPERTY OF GS_CELL1 'Value' = '2'.

   GV_COLNO = GV_COLNO + 1 .

*     Passa segundo valor

   GV_VALUE = 2 * 3 + GV_VALUE.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = GV_COLNO.

   SET PROPERTY OF GS_CELL1 'Value' = '9'.

   GV_COLNO = GV_COLNO + 1 .

*----------------------------------------------------------------------*

*                Inserção das colunas de dados                         *

*----------------------------------------------------------------------*

*--Putting axis labels

   GV_COLNO = 2 .

   GV_LINE_CNTR = GV_LINE_CNTR + 30.                     "

   GV_LINNO = GV_LINE_CNTR - 1 .

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = 1.

   SET PROPERTY OF GS_CELL1 'Value' = 'Impurezas' .

*--Generating some data

*     Passa primeiro valor

   GV_VALUE = 2 * 3 + GV_VALUE.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = GV_COLNO.

   SET PROPERTY OF GS_CELL1 'Value' = '34'.

   GV_COLNO = GV_COLNO + 1 .

*     Passa segundo valor

   GV_VALUE = 2 * 3 + GV_VALUE.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = GV_COLNO.

   SET PROPERTY OF GS_CELL1 'Value' = '61'.

   GV_COLNO = GV_COLNO + 1 .

*----------------------------------------------------------------------*

*                DEFINE AREA DE SELEÇÃO                                *

*----------------------------------------------------------------------*

*--Source data area

   GV_COLNO = GV_COLNO - 1 .

   GV_LINNO = GV_LINNO - 30.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING #1 = GV_LINNO

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING #1 = GV_LINNO

     #2 = GV_COLNO.

*    CALL METHOD OF gs_excel 'Cells' = gs_cell2

*

*    EXPORTING #1 = gv_line_cntr

*

*    #2 = gv_colno.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

*----------------------------------------------------------------------*

*                DEFINE TIPO/GRÁFICO                                   *

*----------------------------------------------------------------------*

   GET PROPERTY OF GS_APPLICATION 'Charts' = GS_CHARTS .

   CALL METHOD OF GS_CHARTS 'Add' = GS_CHART .

   CALL METHOD OF GS_CHART 'Activate' .

   SET PROPERTY OF GS_CHART 'ChartType' = '51' ."Vertical bar graph 51

   CALL METHOD OF GS_CHART 'SetSourceData'

     EXPORTING #1 = GS_CELLS

     #2 = 1.

*----------------------------------------------------------------------*

*                DEFINE DADOS A SELEC.                                 *

*----------------------------------------------------------------------*

*--Locate the chart onto the current worksheet

*--Activate current sheet

*GV_SHEET_NAME = 'TEST2'.

   CALL METHOD OF GS_EXCEL 'WorkSheets' = GS_ACTIVESHEET

     EXPORTING #1 = GV_SHEET_NAME.

   CALL METHOD OF GS_ACTIVESHEET 'Activate' .

   CALL METHOD OF GS_CHART 'Location'

     EXPORTING #1 = 2

     #2 = GV_SHEET_NAME.

*----------------------------------------------------------------------*

*                CHAMADA DO GRÁFICO                                    *

*----------------------------------------------------------------------*

*--Reposition the chart on the worksheet (cut&paste)

   CALL METHOD OF GS_ACTIVESHEET 'ChartObjects' = GS_CHARTOBJECTS .

   CALL METHOD OF GS_CHARTOBJECTS 'Select' .

   CALL METHOD OF GS_CHARTOBJECTS 'Cut' .

*----------------------------------------------------------------------*

*                DEFINE AREA DE SELEÇÃO                                *

*----------------------------------------------------------------------*

*--Source data area

*    gv_colno = gv_colno - 1 .

   GV_LINNO = GV_LINE_CNTR - 1 .

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING #1 = GV_LINNO

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING #1 = GV_LINNO

     #2 = GV_COLNO.

*    CALL METHOD OF gs_excel 'Cells' = gs_cell2

*

*    EXPORTING #1 = gv_line_cntr

*

*    #2 = gv_colno.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

*----------------------------------------------------------------------*

*                DEFINE TIPO/GRÁFICO                                   *

*----------------------------------------------------------------------*

   GET PROPERTY OF GS_APPLICATION 'Charts' = GS_CHARTS .

   CALL METHOD OF GS_CHARTS 'Add' = GS_CHART .

   CALL METHOD OF GS_CHART 'Activate' .

   SET PROPERTY OF GS_CHART 'ChartType' = '134' ."Vertical bar graph 51

   CALL METHOD OF GS_CHART 'SetSourceData'

     EXPORTING #1 = GS_CELLS

     #2 = 1.

*----------------------------------------------------------------------*

*                DEFINE DADOS A SELEC.                                 *

*----------------------------------------------------------------------*

*--Locate the chart onto the current worksheet

*--Activate current sheet

*GV_SHEET_NAME = 'TEST1'.

   CALL METHOD OF GS_EXCEL 'WorkSheets' = GS_ACTIVESHEET

     EXPORTING #1 = GV_SHEET_NAME.

   CALL METHOD OF GS_ACTIVESHEET 'Activate' .

   CALL METHOD OF GS_CHART 'Location'

     EXPORTING #1 = 2

     #2 = GV_SHEET_NAME.

*----------------------------------------------------------------------*

*                CHAMADA DO GRÁFICO                                    *

*----------------------------------------------------------------------*

*--Reposition the chart on the worksheet (cut&paste)

   CALL METHOD OF GS_ACTIVESHEET 'ChartObjects' = GS_CHARTOBJECTS .

   CALL METHOD OF GS_CHARTOBJECTS 'Select' .

   CALL METHOD OF GS_CHARTOBJECTS 'Cut' .

*--Select new area

   GV_LINE_CNTR = GV_LINE_CNTR + 20 .

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINE_CNTR

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING

     #1 = GV_LINE_CNTR

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1.

*    #2 = gs_cell2.

   CALL METHOD OF GS_CELLS 'Select' .

   CALL METHOD OF GS_ACTIVESHEET 'Paste' .

*----------------------------------------------------------------------*

*                LIMPA VARIAVEIS                                       *

*----------------------------------------------------------------------*

*--Deallocating memory

   FREE: GS_EXCEL, GS_WBOOKLIST, GS_APPLICATION, GS_WBOOK,

   GS_ACTIVESHEET,GS_SHEETS, GS_NEWSHEET, GS_CELL1,

   GS_CELL2, GS_CELLS, GS_RANGE, GS_FONT, GS_INTERIOR,

   GS_COLUMNS, GS_CHARTS, GS_CHART, GS_CHARTTITLE,

   GS_CHARTTITLECHAR, GS_CHARTOBJECTS .

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,170

Hi Claudio,

Check List of Chart type and it's value which you use as per your requirement .

ChartType
NameValueDescription
xl3DArea-40983D Area.
xl3DAreaStacked783D Stacked Area.
xl3DAreaStacked10079100% Stacked Area.
xl3DBarClustered603D Clustered Bar.
xl3DBarStacked613D Stacked Bar.
xl3DBarStacked100623D 100% Stacked Bar.
xl3DColumn-41003D Column.
xl3DColumnClustered543D Clustered Column.
xl3DColumnStacked553D Stacked Column.
xl3DColumnStacked100563D 100% Stacked Column.
xl3DLine-41013D Line.
xl3DPie-41023D Pie.
xl3DPieExploded70Exploded 3D Pie.
xlArea1Area
xlAreaStacked76Stacked Area.
xlAreaStacked10077100% Stacked Area.
xlBarClustered57Clustered Bar.
xlBarOfPie71Bar of Pie.
xlBarStacked58Stacked Bar.
xlBarStacked10059100% Stacked Bar.
xlBubble15Bubble.
xlBubble3DEffect87Bubble with 3D effects.
xlColumnClustered51Clustered Column.
xlColumnStacked52Stacked Column.
xlColumnStacked10053100% Stacked Column.
xlConeBarClustered102Clustered Cone Bar.
xlConeBarStacked103Stacked Cone Bar.
xlConeBarStacked100104100% Stacked Cone Bar.
xlConeCol1053D Cone Column.
xlConeColClustered99Clustered Cone Column.
xlConeColStacked100Stacked Cone Column.
xlConeColStacked100101100% Stacked Cone Column.
xlCylinderBarClustered95Clustered Cylinder Bar.
xlCylinderBarStacked96Stacked Cylinder Bar.
xlCylinderBarStacked10097100% Stacked Cylinder Bar.
xlCylinderCol983D Cylinder Column.
xlCylinderColClustered92Clustered Cone Column.
xlCylinderColStacked93Stacked Cone Column.
xlCylinderColStacked10094100% Stacked Cylinder Column.
xlDoughnut-4120Doughnut.
xlDoughnutExploded80Exploded Doughnut.
xlLine4Line.
xlLineMarkers65Line with Markers.
xlLineMarkersStacked66Stacked Line with Markers.
xlLineMarkersStacked10067100% Stacked Line with Markers.
xlLineStacked63Stacked Line.
xlLineStacked10064100% Stacked Line.
xlPie5Pie.
xlPieExploded69Exploded Pie.
xlPieOfPie68Pie of Pie.
xlPyramidBarClustered109Clustered Pyramid Bar.
xlPyramidBarStacked110Stacked Pyramid Bar.
xlPyramidBarStacked100111100% Stacked Pyramid Bar.
xlPyramidCol1123D Pyramid Column.
xlPyramidColClustered106Clustered Pyramid Column.
xlPyramidColStacked107Stacked Pyramid Column.
xlPyramidColStacked100108100% Stacked Pyramid Column.
xlRadar-4151Radar.
xlRadarFilled82Filled Radar.
xlRadarMarkers81Radar with Data Markers.
xlStockHLC88High-Low-Close.
xlStockOHLC89Open-High-Low-Close.
xlStockVHLC90Volume-High-Low-Close.
xlStockVOHLC91Volume-Open-High-Low-Close.
xlSurface833D Surface.
xlSurfaceTopView85Surface (Top View).
xlSurfaceTopViewWireframe86Surface (Top View wireframe).
xlSurfaceWireframe843D Surface (wireframe).
xlXYScatter-4169Scatter.
xlXYScatterLines74Scatter with Lines.
xlXYScatterLinesNoMarkers75Scatter with Lines and No Data Markers.
xlXYScatterSmooth72Scatter with Smoothed Lines.
xlXYScatterSmoothNoMarkers73Scatter with Smoothed Lines and No Data Markers.

Regard's

Smruti

Hello!

Is there a list or a way to see what is Possible to create graphics and also put the name to the axes as circled in red?

I ask because today needed to create this chart and the numbers that I tried I could not get it generates:

Today I'm creating my chart based on the link below:

http://scn.sap.com/message/13816704#13816704

Here is a sample code:

REPORT ZTESTE_CLAUDIOPOSE_01 .

*----------------------------------------------------------------------*

*                INCLUDE                                               *

*----------------------------------------------------------------------*

INCLUDE OLE2INCL.

*----------------------------------------------------------------------*

*                VARIAVEIS                                             *

*----------------------------------------------------------------------*

DATA: GS_EXCEL TYPE OLE2_OBJECT ,

GS_WBOOKLIST TYPE OLE2_OBJECT ,

GS_APPLICATION TYPE OLE2_OBJECT ,

GS_WBOOK TYPE OLE2_OBJECT ,

GS_ACTIVESHEET TYPE OLE2_OBJECT ,

GS_SHEETS TYPE OLE2_OBJECT ,

GS_NEWSHEET TYPE OLE2_OBJECT ,

GS_CELL1 TYPE OLE2_OBJECT ,

GS_CELL2 TYPE OLE2_OBJECT ,

GS_CELLS TYPE OLE2_OBJECT ,

GS_RANGE TYPE OLE2_OBJECT ,

GS_FONT TYPE OLE2_OBJECT ,

GS_INTERIOR TYPE OLE2_OBJECT ,

GS_COLUMNS TYPE OLE2_OBJECT ,

GS_CHARTS TYPE OLE2_OBJECT ,

GS_CHART TYPE OLE2_OBJECT ,

GS_CHARTTITLE TYPE OLE2_OBJECT ,

GS_CHARTTITLECHAR TYPE OLE2_OBJECT ,

GS_CHARTOBJECTS TYPE OLE2_OBJECT ,

**********************TESTE***************************

GS_CHARTS2 TYPE OLE2_OBJECT ,

GS_CHART2 TYPE OLE2_OBJECT ,

GS_CHARTTITLE2 TYPE OLE2_OBJECT ,

GS_CHARTTITLECHAR2 TYPE OLE2_OBJECT ,

GS_ACTIVESHEET2 TYPE OLE2_OBJECT ,

GS_CHARTOBJECTS2 TYPE OLE2_OBJECT .

DATA GV_SHEET_NAME(20) TYPE C .

DATA GV_OUTER_INDEX LIKE SY-INDEX .

DATA GV_INTEX(2) TYPE C .

DATA GV_LINE_CNTR TYPE I ."line counter

DATA GV_LINNO TYPE I ."line number

DATA GV_COLNO TYPE I ."column number

DATA GV_VALUE TYPE I ."data

*PARAMETERS: p_sheets TYPE i .

*----------------------------------------------------------------------*

*                INICIO - CRIAÇÃO DOC                                  *

*----------------------------------------------------------------------*

START-OF-SELECTION .

*--Forming sheet name

   GV_INTEX = SY-INDEX .

   GV_OUTER_INDEX = SY-INDEX .

   CONCATENATE 'Analise de Volume' GV_INTEX INTO GV_SHEET_NAME .

   CREATE OBJECT GS_EXCEL 'EXCEL.APPLICATION' .

   SET PROPERTY OF GS_EXCEL 'Visible' = 1 .

   GET PROPERTY OF GS_EXCEL 'Workbooks' = GS_WBOOKLIST .

   GET PROPERTY OF GS_WBOOKLIST 'Application' = GS_APPLICATION .

   SET PROPERTY OF GS_APPLICATION 'SheetsInNewWorkbook' = 1 .

   CALL METHOD OF GS_WBOOKLIST 'Add' = GS_WBOOK .

   GET PROPERTY OF GS_APPLICATION 'ActiveSheet' = GS_ACTIVESHEET .

*GV_SHEET_NAME = 'TEST4'.

   SET PROPERTY OF GS_ACTIVESHEET 'Name' = GV_SHEET_NAME .

   GV_LINE_CNTR = 1 ."line counter

*----------------------------------------------------------------------*

*                TITLE                                                 *

*----------------------------------------------------------------------*

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = 1

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING

     #1 = 1

     #2 = 4.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

*--Merging

   CALL METHOD OF GS_CELLS 'Merge' .

*--Setting title data

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINE_CNTR

     #2 = 1.

   SET PROPERTY OF GS_CELL1 'Value' = 'Análise de Volume' .

*--Formatting the title

   GET PROPERTY OF GS_CELL1 'Font' = GS_FONT .

   SET PROPERTY OF GS_FONT 'Underline' = 2 .

   SET PROPERTY OF GS_FONT 'Bold' = 1 .

*----------------------------------------------------------------------*

*                Inserção das colunas de dados                         *

*----------------------------------------------------------------------*

*--Formatting the area of additional data 1

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = 1

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1.

*    #2 = gs_cell2.

   CALL METHOD OF GS_CELLS 'Select' .

   GET PROPERTY OF GS_CELLS 'Font' = GS_FONT .

   SET PROPERTY OF GS_FONT 'Bold' = 1 .

*--Formatting the area of additional data 2

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = 1

     #2 = 5.

*----------------------------------------------------------------------*

*                SELECIONA DADOS                                       *

*----------------------------------------------------------------------*

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

   GET PROPERTY OF GS_CELLS 'Columns' = GS_COLUMNS .

   CALL METHOD OF GS_COLUMNS 'AutoFit' .

*--Bordering title data area

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = 1

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING

     #1 = GV_LINE_CNTR

     #2 = 6.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

   CALL METHOD OF GS_CELLS 'BorderAround'

   EXPORTING

   #1 = 1"continuous line

   #2 = 4."thick

*----------------------------------------------------------------------*

*                Inserção das colunas de dados                         *

*----------------------------------------------------------------------*

*--Putting axis labels

   GV_COLNO = 2 .

   GV_LINE_CNTR = GV_LINE_CNTR + 5 .

   GV_LINNO = GV_LINE_CNTR - 1 .

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = 1.

   SET PROPERTY OF GS_CELL1 'Value' = 'Toneladas' .

*--Generating some data

*     Passa primeiro valor

   GV_VALUE = 2 * 3 + GV_VALUE.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = GV_COLNO.

     SET PROPERTY OF GS_CELL1 'Value' = '2'.

   GV_COLNO = GV_COLNO + 1 .

*     Passa segundo valor

   GV_VALUE = 2 * 3 + GV_VALUE.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = GV_COLNO.

   SET PROPERTY OF GS_CELL1 'Value' = '9'.

   GV_COLNO = GV_COLNO + 1 .

*----------------------------------------------------------------------*

*                Inserção das colunas de dados                         *

*----------------------------------------------------------------------*

*--Putting axis labels

   GV_COLNO = 2 .

   GV_LINE_CNTR = GV_LINE_CNTR + 30.                     "

   GV_LINNO = GV_LINE_CNTR - 1 .

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = 1.

   SET PROPERTY OF GS_CELL1 'Value' = 'Impurezas' .

*--Generating some data

*     Passa primeiro valor

   GV_VALUE = 2 * 3 + GV_VALUE.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = GV_COLNO.

   SET PROPERTY OF GS_CELL1 'Value' = '34'.

   GV_COLNO = GV_COLNO + 1 .

*     Passa segundo valor

   GV_VALUE = 2 * 3 + GV_VALUE.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINNO

     #2 = GV_COLNO.

   SET PROPERTY OF GS_CELL1 'Value' = '61'.

   GV_COLNO = GV_COLNO + 1 .

*----------------------------------------------------------------------*

*                DEFINE AREA DE SELEÇÃO                                *

*----------------------------------------------------------------------*

*--Source data area

   GV_COLNO = GV_COLNO - 1 .

   GV_LINNO = GV_LINNO - 30.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING #1 = GV_LINNO

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING #1 = GV_LINNO

     #2 = GV_COLNO.

*    CALL METHOD OF gs_excel 'Cells' = gs_cell2

*

*    EXPORTING #1 = gv_line_cntr

*

*    #2 = gv_colno.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

*----------------------------------------------------------------------*

*                DEFINE TIPO/GRÁFICO                                   *

*----------------------------------------------------------------------*

   GET PROPERTY OF GS_APPLICATION 'Charts' = GS_CHARTS .

   CALL METHOD OF GS_CHARTS 'Add' = GS_CHART .

   CALL METHOD OF GS_CHART 'Activate' .

   SET PROPERTY OF GS_CHART 'ChartType' = '51' ."Vertical bar graph 51

   CALL METHOD OF GS_CHART 'SetSourceData'

     EXPORTING #1 = GS_CELLS

     #2 = 1.

*----------------------------------------------------------------------*

*                DEFINE DADOS A SELEC.                                 *

*----------------------------------------------------------------------*

*--Locate the chart onto the current worksheet

*--Activate current sheet

*GV_SHEET_NAME = 'TEST2'.

   CALL METHOD OF GS_EXCEL 'WorkSheets' = GS_ACTIVESHEET

     EXPORTING #1 = GV_SHEET_NAME.

   CALL METHOD OF GS_ACTIVESHEET 'Activate' .

   CALL METHOD OF GS_CHART 'Location'

     EXPORTING #1 = 2

     #2 = GV_SHEET_NAME.

*----------------------------------------------------------------------*

*                CHAMADA DO GRÁFICO                                    *

*----------------------------------------------------------------------*

*--Reposition the chart on the worksheet (cut&paste)

   CALL METHOD OF GS_ACTIVESHEET 'ChartObjects' = GS_CHARTOBJECTS .

   CALL METHOD OF GS_CHARTOBJECTS 'Select' .

   CALL METHOD OF GS_CHARTOBJECTS 'Cut' .

*----------------------------------------------------------------------*

*                DEFINE AREA DE SELEÇÃO                                *

*----------------------------------------------------------------------*

*--Source data area

*    gv_colno = gv_colno - 1 .

   GV_LINNO = GV_LINE_CNTR - 1 .

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING #1 = GV_LINNO

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING #1 = GV_LINNO

     #2 = GV_COLNO.

*    CALL METHOD OF gs_excel 'Cells' = gs_cell2

*

*    EXPORTING #1 = gv_line_cntr

*

*    #2 = gv_colno.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING #1 = GS_CELL1

     #2 = GS_CELL2.

   CALL METHOD OF GS_CELLS 'Select' .

*----------------------------------------------------------------------*

*                DEFINE TIPO/GRÁFICO                                   *

*----------------------------------------------------------------------*

   GET PROPERTY OF GS_APPLICATION 'Charts' = GS_CHARTS .

   CALL METHOD OF GS_CHARTS 'Add' = GS_CHART .

   CALL METHOD OF GS_CHART 'Activate' .

   SET PROPERTY OF GS_CHART 'ChartType' = '134' ."Vertical bar graph 51

   CALL METHOD OF GS_CHART 'SetSourceData'

     EXPORTING #1 = GS_CELLS

     #2 = 1.

*----------------------------------------------------------------------*

*                DEFINE DADOS A SELEC.                                 *

*----------------------------------------------------------------------*

*--Locate the chart onto the current worksheet

*--Activate current sheet

*GV_SHEET_NAME = 'TEST1'.

   CALL METHOD OF GS_EXCEL 'WorkSheets' = GS_ACTIVESHEET

     EXPORTING #1 = GV_SHEET_NAME.

   CALL METHOD OF GS_ACTIVESHEET 'Activate' .

   CALL METHOD OF GS_CHART 'Location'

     EXPORTING #1 = 2

     #2 = GV_SHEET_NAME.

*----------------------------------------------------------------------*

*                CHAMADA DO GRÁFICO                                    *

*----------------------------------------------------------------------*

*--Reposition the chart on the worksheet (cut&paste)

   CALL METHOD OF GS_ACTIVESHEET 'ChartObjects' = GS_CHARTOBJECTS .

   CALL METHOD OF GS_CHARTOBJECTS 'Select' .

   CALL METHOD OF GS_CHARTOBJECTS 'Cut' .

*--Select new area

   GV_LINE_CNTR = GV_LINE_CNTR + 20 .

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL1

     EXPORTING

     #1 = GV_LINE_CNTR

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Cells' = GS_CELL2

     EXPORTING

     #1 = GV_LINE_CNTR

     #2 = 1.

   CALL METHOD OF GS_EXCEL 'Range' = GS_CELLS

     EXPORTING

     #1 = GS_CELL1.

*    #2 = gs_cell2.

   CALL METHOD OF GS_CELLS 'Select' .

   CALL METHOD OF GS_ACTIVESHEET 'Paste' .

*----------------------------------------------------------------------*

*                LIMPA VARIAVEIS                                       *

*----------------------------------------------------------------------*

*--Deallocating memory

   FREE: GS_EXCEL, GS_WBOOKLIST, GS_APPLICATION, GS_WBOOK,

   GS_ACTIVESHEET,GS_SHEETS, GS_NEWSHEET, GS_CELL1,

   GS_CELL2, GS_CELLS, GS_RANGE, GS_FONT, GS_INTERIOR,

   GS_COLUMNS, GS_CHARTS, GS_CHART, GS_CHARTTITLE,

   GS_CHARTTITLECHAR, GS_CHARTOBJECTS .

2 REPLIES 2
Read only

Former Member
0 Likes
1,171

Hi Claudio,

Check List of Chart type and it's value which you use as per your requirement .

ChartType
NameValueDescription
xl3DArea-40983D Area.
xl3DAreaStacked783D Stacked Area.
xl3DAreaStacked10079100% Stacked Area.
xl3DBarClustered603D Clustered Bar.
xl3DBarStacked613D Stacked Bar.
xl3DBarStacked100623D 100% Stacked Bar.
xl3DColumn-41003D Column.
xl3DColumnClustered543D Clustered Column.
xl3DColumnStacked553D Stacked Column.
xl3DColumnStacked100563D 100% Stacked Column.
xl3DLine-41013D Line.
xl3DPie-41023D Pie.
xl3DPieExploded70Exploded 3D Pie.
xlArea1Area
xlAreaStacked76Stacked Area.
xlAreaStacked10077100% Stacked Area.
xlBarClustered57Clustered Bar.
xlBarOfPie71Bar of Pie.
xlBarStacked58Stacked Bar.
xlBarStacked10059100% Stacked Bar.
xlBubble15Bubble.
xlBubble3DEffect87Bubble with 3D effects.
xlColumnClustered51Clustered Column.
xlColumnStacked52Stacked Column.
xlColumnStacked10053100% Stacked Column.
xlConeBarClustered102Clustered Cone Bar.
xlConeBarStacked103Stacked Cone Bar.
xlConeBarStacked100104100% Stacked Cone Bar.
xlConeCol1053D Cone Column.
xlConeColClustered99Clustered Cone Column.
xlConeColStacked100Stacked Cone Column.
xlConeColStacked100101100% Stacked Cone Column.
xlCylinderBarClustered95Clustered Cylinder Bar.
xlCylinderBarStacked96Stacked Cylinder Bar.
xlCylinderBarStacked10097100% Stacked Cylinder Bar.
xlCylinderCol983D Cylinder Column.
xlCylinderColClustered92Clustered Cone Column.
xlCylinderColStacked93Stacked Cone Column.
xlCylinderColStacked10094100% Stacked Cylinder Column.
xlDoughnut-4120Doughnut.
xlDoughnutExploded80Exploded Doughnut.
xlLine4Line.
xlLineMarkers65Line with Markers.
xlLineMarkersStacked66Stacked Line with Markers.
xlLineMarkersStacked10067100% Stacked Line with Markers.
xlLineStacked63Stacked Line.
xlLineStacked10064100% Stacked Line.
xlPie5Pie.
xlPieExploded69Exploded Pie.
xlPieOfPie68Pie of Pie.
xlPyramidBarClustered109Clustered Pyramid Bar.
xlPyramidBarStacked110Stacked Pyramid Bar.
xlPyramidBarStacked100111100% Stacked Pyramid Bar.
xlPyramidCol1123D Pyramid Column.
xlPyramidColClustered106Clustered Pyramid Column.
xlPyramidColStacked107Stacked Pyramid Column.
xlPyramidColStacked100108100% Stacked Pyramid Column.
xlRadar-4151Radar.
xlRadarFilled82Filled Radar.
xlRadarMarkers81Radar with Data Markers.
xlStockHLC88High-Low-Close.
xlStockOHLC89Open-High-Low-Close.
xlStockVHLC90Volume-High-Low-Close.
xlStockVOHLC91Volume-Open-High-Low-Close.
xlSurface833D Surface.
xlSurfaceTopView85Surface (Top View).
xlSurfaceTopViewWireframe86Surface (Top View wireframe).
xlSurfaceWireframe843D Surface (wireframe).
xlXYScatter-4169Scatter.
xlXYScatterLines74Scatter with Lines.
xlXYScatterLinesNoMarkers75Scatter with Lines and No Data Markers.
xlXYScatterSmooth72Scatter with Smoothed Lines.
xlXYScatterSmoothNoMarkers73Scatter with Smoothed Lines and No Data Markers.

Regard's

Smruti

Read only

0 Likes
1,170

That is correct answer


DATA gs_chartAdoZet TYPE OLE2_OBJECT.


GET PROPERTY OF gs_activesheet 'ChartObjects' = gs_chartobjects.

       CALL METHOD OF gs_chartobjects 'Item' = gs_chartAdoZet   " That method return object to chart

             EXPORTING

                   #1 = 'Chart 1'.   " Index = Number (1)/String ('Chart 1') <- find out in excel Name Box Number 1, ... n

       CALL METHOD OF gs_chartAdoZet 'Activate' .

       CALL METHOD OF gs_chartAdoZet 'Select' .

       CALL METHOD OF gs_chartAdoZet 'Cut'               " 'Copy'/'Cut'.

How does it to use ??? I was attaching according those link

Generaly

Object model (Excel VBA reference)

Chart

Chart Members (Excel)

Typs of charts ( bottom at the end of www page) http://wiki.scn.sap.com/wiki/display/ABAP/ABAP-OLE+Code+Display+More+then+One+Chart+in+Excel