git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@222 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
Ivan Femia 2011-09-25 11:18:07 +00:00
parent 3f39940cb4
commit 358ecc4dc9
2 changed files with 24 additions and 19 deletions

View File

@ -155,32 +155,37 @@ endmethod.</source>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Integer" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0"> <method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" VERSION="1" LANGU="E" DESCRIPT="Convert column indicator to Integer" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/> <parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" SCONAME="EP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/> <parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMN2INT" SCONAME="EP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN"/>
<source>method CONVERT_COLUMN2INT. <source>METHOD convert_column2int.
DATA: lv_uccpi TYPE i, DATA: lv_uccpi TYPE i,
lv_factor TYPE i,
lv_offset TYPE i,
lv_char TYPE c, lv_char TYPE c,
lv_column(2) TYPE c. lv_column TYPE ZEXCEL_CELL_COLUMN_ALPHA.
* Calculate most significant letter * Upper case
lv_char = ip_column+1(1). lv_column = ip_column.
IF lv_char IS NOT INITIAL. &quot;To avoid the first 26 column that have only a char in first position TRANSLATE lv_column TO UPPER CASE.
ep_column = cl_abap_conv_out_ce=&gt;uccpi( lv_char ). CONDENSE lv_column NO-GAPS.
ep_column = ep_column MOD ( zcl_excel_common=&gt;c_excel_col_module ). * Get string lenght and align to right
lv_offset = 3 - STRLEN( lv_column ).
lv_char = ip_column(1). SHIFT lv_column RIGHT BY lv_offset PLACES.
lv_uccpi = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).
lv_uccpi = ( lv_uccpi MOD ( zcl_excel_common=&gt;c_excel_col_module ) ) * 26. * Claculate column position
DO 3 TIMES.
ep_column = ep_column + lv_uccpi. lv_offset = sy-index - 1.
ELSE. lv_char = lv_column+lv_offset(1).
lv_char = ip_column(1). if lv_char IS INITIAL.
ep_column = cl_abap_conv_out_ce=&gt;uccpi( lv_char ). CONTINUE.
ep_column = ep_column - zcl_excel_common=&gt;c_excel_col_module.
ENDIF. ENDIF.
lv_uccpi = cl_abap_conv_out_ce=&gt;uccpi( lv_char ).
lv_factor = 26 ** ( 3 - sy-index ).
ep_column = ep_column + ( lv_uccpi MOD zcl_excel_common=&gt;c_excel_col_module ) * lv_factor.
ENDDO.
endmethod.</source> ENDMETHOD.</source>
</method> </method>
<method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" VERSION="1" LANGU="E" DESCRIPT="Convert ColumnRow i.e. AB34 to AB and 34" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0"> <method CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" VERSION="1" LANGU="E" DESCRIPT="Convert ColumnRow i.e. AB34 to AB and 34" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="702" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" SCONAME="I_COLUMNROW" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/> <parameter CLSNAME="ZCL_EXCEL_COMMON" CMPNAME="CONVERT_COLUMNROW2COLUMN_A_ROW" SCONAME="I_COLUMNROW" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="FEMIA" CREATEDON="20110528" CHANGEDBY="FEMIA" CHANGEDON="20110528" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-16"?> <?xml version="1.0" encoding="utf-16"?>
<DTEL ROLLNAME="ZEXCEL_CELL_COLUMN_ALPHA" DDLANGUAGE="E" DOMNAME="CHAR2" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="06" SCRLEN2="11" SCRLEN3="11" DDTEXT="Cell Column" REPTEXT="Cell Column" SCRTEXT_S="Column" SCRTEXT_M="Cell Column" SCRTEXT_L="Cell Column" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20100713" AS4TIME="205438" DTELMASTER="E" DATATYPE="CHAR" LENG="000002" DECIMALS="000000" OUTPUTLEN="000002" REFKIND="D"> <DTEL ROLLNAME="ZEXCEL_CELL_COLUMN_ALPHA" DDLANGUAGE="E" DOMNAME="CHAR3" ROUTPUTLEN="000000" HEADLEN="11" SCRLEN1="06" SCRLEN2="11" SCRLEN3="11" DDTEXT="Cell Column" REPTEXT="Cell Column" SCRTEXT_S="Column" SCRTEXT_M="Cell Column" SCRTEXT_L="Cell Column" AUTHCLASS="00" AS4USER="FEMIA" AS4DATE="20110925" AS4TIME="124214" DTELMASTER="E" DATATYPE="CHAR" LENG="000003" DECIMALS="000000" OUTPUTLEN="000003" REFKIND="D">
<tpara/> <tpara/>
</DTEL> </DTEL>