mirror of
https://github.com/abap2xlsx/abap2xlsx.git
synced 2025-05-05 13:46:17 +08:00
Fix issue #110
git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@222 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
This commit is contained in:
parent
3f39940cb4
commit
358ecc4dc9
|
@ -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. "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=>uccpi( lv_char ).
|
CONDENSE lv_column NO-GAPS.
|
||||||
|
|
||||||
ep_column = ep_column MOD ( zcl_excel_common=>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.
|
||||||
|
|
||||||
|
* Claculate column position
|
||||||
|
DO 3 TIMES.
|
||||||
|
lv_offset = sy-index - 1.
|
||||||
|
lv_char = lv_column+lv_offset(1).
|
||||||
|
if lv_char IS INITIAL.
|
||||||
|
CONTINUE.
|
||||||
|
ENDIF.
|
||||||
lv_uccpi = cl_abap_conv_out_ce=>uccpi( lv_char ).
|
lv_uccpi = cl_abap_conv_out_ce=>uccpi( lv_char ).
|
||||||
|
lv_factor = 26 ** ( 3 - sy-index ).
|
||||||
|
ep_column = ep_column + ( lv_uccpi MOD zcl_excel_common=>c_excel_col_module ) * lv_factor.
|
||||||
|
ENDDO.
|
||||||
|
|
||||||
lv_uccpi = ( lv_uccpi MOD ( zcl_excel_common=>c_excel_col_module ) ) * 26.
|
ENDMETHOD.</source>
|
||||||
|
|
||||||
ep_column = ep_column + lv_uccpi.
|
|
||||||
ELSE.
|
|
||||||
lv_char = ip_column(1).
|
|
||||||
ep_column = cl_abap_conv_out_ce=>uccpi( lv_char ).
|
|
||||||
ep_column = ep_column - zcl_excel_common=>c_excel_col_module.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
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"/>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user