有时我们的ALV列数难以确定,如果采用列数上限固定的话,可能会很多(此时不能正确全部),或者很少(此时平白无故运行时多占用内存),所以比较好的方法是,使用Method

cl_alv_table_create=>create_dynamic_table动态创建显示用的内表,这样的话,就不会受到列数限制了(ALV本身支持列数上限的情况除外)。
先看效果:

如果选中下方ALV的蓝色部分字段,按下屏幕上的Change按钮后(假设选中了Document Type列):

发现上图中,行和列已经产生了变化。如果选择Company Code和Fiscal Year的话,也是可以互换行列的。
=>也许有人觉得这个功能没啥用,但实际现在很火的BI,就是提供了各种维度(Dimension)的数据统计,使传统的report受到了巨大的冲击。当然,我这里做的这样的一个小功能,还是和BI的强大功能相去甚远的,但是如果正好有类似的需求,又没有上BI,那倒也不失为一种退而求其次的方法

具体实现代码如下:
*&---------------------------------------------------------------------*
*& Report  ZWHUR9000
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  zwhur9001.

TYPES: BEGIN OF typ_strc1,
         bukrs TYPE bukrs,
         hkont TYPE hkont,
         gjahr TYPE gjahr,
         blart TYPE blart,
         total TYPE tslvt12,
       END OF typ_strc1,

BEGIN OF typ_hkont,
         hkont TYPE hkont,
       END OF typ_hkont.

************************************************************************
* DATA DEFINATION
************************************************************************
DATA: itab_strc1 TYPE STANDARD TABLE OF typ_strc1,
      itab_hkont TYPE STANDARD TABLE OF typ_hkont,
      wa_strc1   TYPE typ_strc1.
DATA: gc_container1 TYPE REF TO cl_gui_custom_container,    "Container1
      gc_container2 TYPE REF TO cl_gui_custom_container,    "Container2
      gc_grid1      TYPE REF TO cl_gui_alv_grid,          "ALV Object1
      gc_grid2      TYPE REF TO cl_gui_alv_grid.          "ALV Object2
DATA: itab_fcat1 TYPE lvc_t_fcat,
      itab_fcat2 TYPE lvc_t_fcat,
      wa_fcat    TYPE lvc_s_fcat.
FIELD-SYMBOLS:
      <fs_itab> TYPE STANDARD TABLE,
      <fs_wa>   TYPE ANY,
      <fs_itab_field> TYPE STANDARD TABLE,
      <fs_wa_field>   TYPE ANY.
************************************************************************
* SELECTION SCREEN
************************************************************************
SELECT-OPTIONS: s_hkont FOR wa_strc1-hkont NO INTERVALS OBLIGATORY.

************************************************************************
* START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
  PERFORM frm_get_bsis.
  PERFORM frm_create_dyn_table.
  PERFORM frm_cal_result.
  CALL SCREEN 1001.

*&---------------------------------------------------------------------*
*&      Form  FRM_GET_BSIS
*&---------------------------------------------------------------------*
*       select data for test
*----------------------------------------------------------------------*
FORM frm_get_bsis .
  DATA: l_wa_hkont TYPE typ_hkont.

SELECT bukrs
         hkont
         gjahr
         blart
         dmbtr
    FROM bsis
    INTO TABLE itab_strc1
   WHERE hkont IN s_hkont.
  IF sy-subrc <> 0.
    MESSAGE 'No data found!' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE LIST-PROCESSING.
  ELSE.
    SORT itab_strc1 BY bukrs
                       gjahr
                       blart
                       hkont.
  ENDIF.

CLEAR wa_strc1.
  LOOP AT itab_strc1 INTO wa_strc1.
    READ TABLE itab_hkont TRANSPORTING NO FIELDS WITH KEY hkont = wa_strc1-hkont.
    IF sy-subrc <> 0.
      l_wa_hkont-hkont = wa_strc1-hkont.
      APPEND l_wa_hkont TO itab_hkont.
    ENDIF.
    CLEAR wa_strc1.
  ENDLOOP.

ENDFORM.                    " FRM_GET_BSIS
*&---------------------------------------------------------------------*
*&      Form  FRM_CAL_RESULT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM frm_cal_result .
  FIELD-SYMBOLS:<fs_item> TYPE ANY.
  DATA: l_wrk_idx TYPE i.
*
  CLEAR wa_strc1.
  LOOP AT itab_strc1 INTO wa_strc1.
    ASSIGN COMPONENT 'BUKRS' OF STRUCTURE <fs_wa> TO <fs_item>.
    IF sy-subrc = 0.
      <fs_item> = wa_strc1-bukrs.
    ENDIF.
    ASSIGN COMPONENT 'GJAHR' OF STRUCTURE <fs_wa> TO <fs_item>.
    IF sy-subrc = 0.
      <fs_item> = wa_strc1-gjahr.
    ENDIF.
    ASSIGN COMPONENT 'BLART' OF STRUCTURE <fs_wa> TO <fs_item>.
    IF sy-subrc = 0.
      <fs_item> = wa_strc1-blart.
    ENDIF.
*   calculate out total for every G/L
    READ TABLE itab_hkont TRANSPORTING NO FIELDS WITH KEY hkont = wa_strc1-hkont.
    l_wrk_idx = sy-tabix + 3.
    ASSIGN COMPONENT l_wrk_idx OF STRUCTURE <fs_wa> TO <fs_item>.
    IF sy-subrc = 0.
      <fs_item> = wa_strc1-total.
    ENDIF.

ASSIGN COMPONENT 'TOTAL' OF STRUCTURE <fs_wa> TO <fs_item>.
    IF sy-subrc = 0.
      <fs_item> = wa_strc1-total.
    ENDIF.
*   Sum
    COLLECT <fs_wa> INTO <fs_itab>.
    CLEAR:<fs_wa>,
          wa_strc1.
  ENDLOOP.

ENDFORM.                    " FRM_CAL_RESULT
*&---------------------------------------------------------------------*
*&      Module  STATUS_1001  OUTPUT
*&---------------------------------------------------------------------*
*       Status
*----------------------------------------------------------------------*
MODULE status_1001 OUTPUT.
  SET PF-STATUS 'PF_1001'.
  SET TITLEBAR  'TTL_1001'.
ENDMODULE.                 " STATUS_1001  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  EXIT_COMMAND  INPUT
*&---------------------------------------------------------------------*
*       Exit Command
*----------------------------------------------------------------------*
MODULE exit_command INPUT.
  LEAVE TO SCREEN 0.
ENDMODULE.                 " EXIT_COMMAND  INPUT
*&---------------------------------------------------------------------*
*&      Module  DATA_DISPLAY  OUTPUT
*&---------------------------------------------------------------------*
*       data output
*----------------------------------------------------------------------*
MODULE data_display OUTPUT.
  PERFORM frm_dis_alv1.
  PERFORM frm_dis_alv2.
ENDMODULE.                 " DATA_DISPLAY  OUTPUT
*&---------------------------------------------------------------------*
*&      Form  FRM_SET_FCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_FNAME   Field name
*      -->P_TEXT_M  Middle text
*      -->P_TEXT_L  Long text
*      -->P_IS_KEY  flag:X=key
*      -->P_LENGTH  output length
*----------------------------------------------------------------------*
FORM frm_set_fcat  USING    p_fname  TYPE c
                            p_text_m TYPE c
                            p_text_l TYPE c
                            p_is_key TYPE c
                            p_length TYPE n
               CHANGING it_fcat TYPE lvc_t_fcat.
  CLEAR wa_fcat.
  wa_fcat-fieldname = p_fname.
  wa_fcat-scrtext_m = p_text_m.
  wa_fcat-scrtext_l = p_text_l.
  wa_fcat-key       = p_is_key.
  wa_fcat-outputlen = p_length.
  APPEND wa_fcat TO it_fcat.

ENDFORM.                    " FRM_SET_FCAT
*&---------------------------------------------------------------------*
*&      Form  FRM_DIS_ALV1
*&---------------------------------------------------------------------*
*       Grid1 output
*----------------------------------------------------------------------*
FORM frm_dis_alv1 .
  DATA: l_itab_sort TYPE lvc_t_sort,
        l_wa_sort   TYPE lvc_s_sort.
  l_wa_sort-fieldname = 'BUKRS'.
  l_wa_sort-up        = 'X'.
  APPEND l_wa_sort TO l_itab_sort.
  l_wa_sort-fieldname = 'GJAHR'.
  l_wa_sort-up        = 'X'.
  APPEND l_wa_sort TO l_itab_sort.
  l_wa_sort-fieldname = 'BLART'.
  l_wa_sort-up        = 'X'.
  APPEND l_wa_sort TO l_itab_sort.
  l_wa_sort-fieldname = 'HKONT'.
  l_wa_sort-up        = 'X'.
  APPEND l_wa_sort TO l_itab_sort.

*
  IF gc_container1 IS INITIAL.
    PERFORM frm_set_fcat USING 'BUKRS'
                               'Comp.Cd'
                               'Company Code'
                               'X'
                               '4'
                       CHANGING itab_fcat1.
    PERFORM frm_set_fcat USING 'GJAHR'
                               'Fis.Y'
                               'Fiscal Year'
                               'X'
                               '4'
                       CHANGING itab_fcat1.
    PERFORM frm_set_fcat USING 'BLART'
                               'Doc.T'
                               'Document Type'
                               'X'
                               '4'
                       CHANGING itab_fcat1.
    PERFORM frm_set_fcat USING 'HKONT'
                               'GL'
                               'G/L Account'
                               'X'
                               '10'
                       CHANGING itab_fcat1.
    PERFORM frm_set_fcat USING 'TOTAL'
                               'Total'
                               'Total Amount'
                               ''
                               '12'
                       CHANGING itab_fcat1.

CREATE OBJECT gc_container1
      EXPORTING
        container_name = 'CUS_CTL1'.
    CREATE OBJECT gc_grid1
      EXPORTING
        i_parent = gc_container1.
    CALL METHOD gc_grid1->set_table_for_first_display
*    EXPORTING
*      i_buffer_active               =
*      i_bypassing_buffer            =
*      i_consistency_check           =
*      i_structure_name              =
*      is_variant                    =
*      i_save                        =
*      i_default                     = 'X'
*      is_layout                     =
*      is_print                      =
*      it_special_groups             =
*      it_toolbar_excluding          =
*      it_hyperlink                  =
*      it_alv_graphics               =
*      it_except_qinfo               =
*      ir_salv_adapter               =
      CHANGING
        it_outtab                     = itab_strc1
        it_fieldcatalog               = itab_fcat1
        it_sort                       = l_itab_sort.
  ELSE.
    CALL METHOD gc_grid1->refresh_table_display.
  ENDIF.
ENDFORM.                    " FRM_DIS_ALV1
*&---------------------------------------------------------------------*
*&      Form  FRM_DIS_ALV2
*&---------------------------------------------------------------------*
*       Grid2 output
*----------------------------------------------------------------------*
FORM frm_dis_alv2 .
  IF gc_container2 IS INITIAL.
    CREATE OBJECT gc_container2
      EXPORTING
        container_name = 'CUS_CTL2'.
    CREATE OBJECT gc_grid2
      EXPORTING
        i_parent = gc_container2.
  ENDIF.

CALL METHOD gc_grid2->set_table_for_first_display
*    EXPORTING
*    i_buffer_active               =
*    i_bypassing_buffer            =
*    i_consistency_check           =
*    i_structure_name              =
*    is_variant                    =
*    i_save                        =
*    i_default                     = 'X'
*    is_layout                     =
*    is_print                      =
*    it_special_groups             =
*    it_toolbar_excluding          = l_itab_excl
*    it_hyperlink                  =
*    it_alv_graphics               =
*    it_except_qinfo               =
*    ir_salv_adapter               =
    CHANGING
      it_outtab                     = <fs_itab>
      it_fieldcatalog               = itab_fcat2.
ENDFORM.                    " FRM_DIS_ALV2
*&---------------------------------------------------------------------*
*&      Form  FRM_CREATE_DYN_TABLE
*&---------------------------------------------------------------------*
*       Create Dynamic Internal Table
*----------------------------------------------------------------------*
FORM frm_create_dyn_table .
  DATA: l_wa_hkont  TYPE typ_hkont,
        l_idx(2)    TYPE n,
        l_fname(10) TYPE c.
  DATA: l_itab_data TYPE REF TO data,
        l_wa_data   TYPE REF TO data.
* Company Code
  PERFORM frm_set_fcat USING 'BUKRS'
                             'Comp.Cd'
                             'Company Code'
                             'X'
                             '4'
                     CHANGING itab_fcat2.
* Fiscal Year
  PERFORM frm_set_fcat USING 'GJAHR'
                             'Fis.Y'
                             'Fiscal Year'
                             'X'
                             '4'
                     CHANGING itab_fcat2.
* Document Type
  PERFORM frm_set_fcat USING 'BLART'
                             'Doc.T'
                             'Document Type'
                             'X'
                             '4'
                     CHANGING itab_fcat2.
* field cat for every G/L
  LOOP AT itab_hkont INTO l_wa_hkont.
    l_idx = sy-tabix.
    CONCATENATE 'HKONT'
                l_idx
           INTO l_fname.
    CLEAR wa_fcat.
    wa_fcat-fieldname = l_fname.
    wa_fcat-scrtext_m = l_wa_hkont-hkont.
    wa_fcat-scrtext_l = l_wa_hkont-hkont.
    wa_fcat-key       = space.
    wa_fcat-outputlen = 10.
****IMPORTANT********************************************
    wa_fcat-ref_field = 'DMBTR'.  "
    wa_fcat-ref_table = 'BSIS'.   "
*********************************************************
    APPEND wa_fcat TO itab_fcat2.
  ENDLOOP.
* Total
  CLEAR wa_fcat.
  wa_fcat-fieldname = 'TOTAL'.
  wa_fcat-scrtext_m = 'Total'.
  wa_fcat-scrtext_l = 'Total Amount'.
  wa_fcat-key       = space.
  wa_fcat-outputlen = 12.
****IMPORTANT********************************************
  wa_fcat-ref_field = 'DMBTR'.  "
  wa_fcat-ref_table = 'BSIS'.   "
*********************************************************
  APPEND wa_fcat TO itab_fcat2.

* itab creation
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog           = itab_fcat2
    IMPORTING
      ep_table                  = l_itab_data
    EXCEPTIONS
      generate_subpool_dir_full = 1
      OTHERS                    = 2.
  IF sy-subrc <> 0.
    MESSAGE 'Create Table failed!' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE LIST-PROCESSING.
  ELSE.
    ASSIGN l_itab_data->* TO <fs_itab>.
    CREATE DATA l_wa_data LIKE LINE OF <fs_itab>.
    ASSIGN l_wa_data->* TO <fs_wa>.
  ENDIF.
ENDFORM.                    " FRM_CREATE_DYN_TABLE
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_1001  INPUT
*&---------------------------------------------------------------------*
*       User Command
*----------------------------------------------------------------------*
MODULE user_command_1001 INPUT.

CASE sy-ucomm.
    WHEN 'CHG'.
      PERFORM frm_row_column.
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_1001  INPUT
*&---------------------------------------------------------------------*
*&      Form  FRM_CREATE_ITAB_BY_FIELDNAME
*&---------------------------------------------------------------------*
*       Create Dynamic Itab
*----------------------------------------------------------------------*
*      -->iv_fieldname  text
*----------------------------------------------------------------------*
FORM frm_create_itab_by_fieldname  USING  value(iv_fieldname) TYPE c.
  DATA: l_itab_fcat     TYPE lvc_t_fcat,
        l_wa_fcat       TYPE lvc_s_fcat.
  DATA: l_itab_any      TYPE REF TO data,
        l_wa_any        TYPE REF TO data.
  FIELD-SYMBOLS:
        <fs_item1>      TYPE ANY,
        <fs_item2>      TYPE ANY,
        <fs_fcat>       TYPE lvc_s_fcat.

CLEAR l_wa_fcat.
  l_wa_fcat-fieldname = iv_fieldname.
  l_wa_fcat-ref_field = iv_fieldname.
  l_wa_fcat-ref_table = 'BSIS'.
  APPEND l_wa_fcat TO l_itab_fcat.

CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog = l_itab_fcat
    IMPORTING
      ep_table        = l_itab_any.

ASSIGN l_itab_any->* TO <fs_itab_field>.
  CREATE DATA l_wa_any LIKE LINE OF <fs_itab_field>.
  ASSIGN l_wa_any->* TO <fs_wa_field>.

* fieldcat setting for the second ALV
  REFRESH: itab_fcat2.
  itab_fcat2 = itab_fcat1.
* delete from fieldcat if the column was selected
  READ TABLE itab_fcat1 TRANSPORTING NO FIELDS WITH KEY fieldname = iv_fieldname.
  DELETE itab_fcat2 INDEX sy-tabix.

* get all items for selected columns
  LOOP AT itab_strc1 INTO wa_strc1.
    ASSIGN COMPONENT iv_fieldname OF STRUCTURE wa_strc1 TO <fs_item1>.
    ASSIGN COMPONENT iv_fieldname OF STRUCTURE <fs_wa_field> TO <fs_item2>.
    <fs_item2> = <fs_item1>.
    COLLECT <fs_wa_field> INTO <fs_itab_field>.
    CLEAR <fs_wa_field>.
  ENDLOOP.

LOOP AT <fs_itab_field> ASSIGNING <fs_wa_field>.
*   add fieldcat for selected row => column
    CLEAR wa_fcat.
    wa_fcat-fieldname = <fs_wa_field>.
    wa_fcat-scrtext_m = <fs_wa_field>.
    wa_fcat-scrtext_l = <fs_wa_field>.
    wa_fcat-key       = space.
    wa_fcat-outputlen = 12.
    APPEND wa_fcat TO itab_fcat2.
  ENDLOOP.

* set TOTAL as last column
  CLEAR wa_fcat.
  READ TABLE itab_fcat2 INTO wa_fcat WITH KEY fieldname = 'TOTAL'.
  DELETE itab_fcat2 WHERE fieldname = 'TOTAL'.
  APPEND wa_fcat TO itab_fcat2.

l_itab_fcat = itab_fcat2.
  LOOP AT l_itab_fcat ASSIGNING <fs_fcat> FROM 4.
    <fs_fcat>-ref_table = 'BSIS'.
    <fs_fcat>-ref_field = 'DMBTR'.
  ENDLOOP.

CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog = l_itab_fcat
    IMPORTING
      ep_table        = l_itab_any.
  ASSIGN l_itab_any->* TO <fs_itab>.
  CREATE DATA l_wa_any LIKE LINE OF <fs_itab>.
  ASSIGN l_wa_any->* TO <fs_wa>.

ENDFORM.                    " FRM_CREATE_ITAB_BY_FIELDNAME
*&---------------------------------------------------------------------*
*&      Form  FRM_DATA_SET
*&---------------------------------------------------------------------*
*       set content for new Dynamic table
*----------------------------------------------------------------------*
*      -->iv_fieldname  text
*----------------------------------------------------------------------*
FORM frm_data_set USING   value(iv_fieldname) TYPE c.
  FIELD-SYMBOLS: <l_fs01> TYPE ANY,
                 <l_fs_value> TYPE ANY.
  DATA: l_wrk_idx TYPE i.

LOOP AT itab_strc1 INTO wa_strc1.
*   get value for selected column
    ASSIGN COMPONENT iv_fieldname OF STRUCTURE wa_strc1 TO <l_fs01>.
    MOVE-CORRESPONDING wa_strc1 TO <fs_wa>.

*   get the index in result table
    READ TABLE <fs_itab_field> WITH KEY (iv_fieldname) = <l_fs01> TRANSPORTING NO FIELDS.
    l_wrk_idx = sy-tabix + 3.
    ASSIGN COMPONENT l_wrk_idx OF STRUCTURE <fs_wa> TO <l_fs_value>.
    <l_fs_value> = wa_strc1-total.

ASSIGN COMPONENT 'TOTAL' OF STRUCTURE <fs_wa> TO <l_fs_value>.
    <l_fs_value> = wa_strc1-total.
    COLLECT <fs_wa> INTO <fs_itab>.
    CLEAR: <fs_wa>,
           wa_strc1.
  ENDLOOP.
ENDFORM.                    " FRM_DATA_SET
*&---------------------------------------------------------------------*
*&      Form  FRM_ROW_COLUMN
*&---------------------------------------------------------------------*
*       Row to Column
*----------------------------------------------------------------------*
FORM frm_row_column .
  DATA: l_itab_selected TYPE lvc_t_col,
        l_wa_selected   TYPE lvc_s_col.

CALL METHOD gc_grid2->get_selected_columns
    IMPORTING
      et_index_columns = l_itab_selected.
* check columns be selected
  DESCRIBE TABLE l_itab_selected.
  IF sy-tfill >= 2
   OR sy-tfill = 0.
    MESSAGE 'Please select 1 column!' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE SCREEN.
  ENDIF.

READ TABLE l_itab_selected INTO l_wa_selected INDEX 1.
  IF  l_wa_selected-fieldname <> 'BUKRS'
  AND l_wa_selected-fieldname <> 'GJAHR'
  AND l_wa_selected-fieldname <> 'BLART'
  AND l_wa_selected-fieldname <> 'HKONT'.
    MESSAGE 'Please select a key column in ALV!' TYPE 'S' DISPLAY LIKE 'E'.
    LEAVE SCREEN.
  ENDIF.

"FIELDNAME
  PERFORM frm_create_itab_by_fieldname USING l_wa_selected-fieldname.

"set value into <fs_itab>
  PERFORM frm_data_set USING l_wa_selected-fieldname.
ENDFORM.                    " FRM_ROW_COLUMN

ALV列(Column)换到行(Row) 之 列上限不固定篇相关推荐

  1. oracle一列多行转一行多列表示,Oracle 多行转多列,列值转为列名

    前段时间做调查问卷,客户创建自定义问卷内容,包括题目和选项内容; 之后需要导出问卷明细,,,,麻烦来咯 于是到网上到处搜索,没有直接结果;于是又找各种相似的,,终于功夫不负有心人 然后最终自己写出来了 ...

  2. SQL Server 行转列,列转行。多行转成一列

    一.多行转成一列(并以","隔开) 表名:A 表数据: 想要的查询结果: 查询语句: SELECT name ,value = ( STUFF(( SELECT ',' + val ...

  3. python怎么选取第几行第几列_python DataFrame获取行数、列数、索引及第几行第几列的值方法...

    python DataFrame获取行数.列数.索引及第几行第几列的值方法 更新时间:2018年04月08日 16:22:00 作者:小白九九 下面小编就为大家分享一篇python DataFrame ...

  4. ALV中动态内表+行转化为列

    转换为: REPORT z_barry_test_fieldsymols . TYPE-POOLS: slis. TABLES: mseg,mkpf. DATA: gd_fieldcat TYPE s ...

  5. vue element-ui自定义表头,动态添加表头,新增行、新增列、删除行、删除列

    vue element-ui表格怎样自定义表头,动态添加表头,新增行.新增列.删除行.删除列 需求描述 1.自定义表头,表头里插入输入框 2.默认初始化几行几列占位 3.新增行 4.新增列 5.右键点 ...

  6. bootstraptable列宽自适应内容_多列列表框行高和列宽的自适应调整

    LabVIEW:2015 在使用多列列表框(Multicolumn Listbox)时,有时不同列显示的内容长度不一致,为了显示更加美观,并节省界面显示空间,需要实现多列列表框的行高和列宽的自适应调整 ...

  7. excel2010设置列宽为像素_Excel2010中调整行高和列宽的方法

    Excel2010的默认情况下,Excel中所有行的高度和所有列的宽度都是相等的.可以利用鼠标拖动方式和"格式"列表中的命令来调整Excel的行高和列宽. 1.鼠标拖动法 在对行高 ...

  8. 行存储和列存储小介绍

    .定义 1.1定义 Sybase在2004年左右就推出了列存储的Sybase IQ数据库系统,主要用于在线分析.数据挖掘等查询密集型应用.列存储,缩写为DSM,相对于NSM(N-ary storage ...

  9. Microsoft Excel 单元格行高和列宽

    Microsoft Excel 单元格行高和列宽 格式 -> 自动调整行高 自动调整列宽 References https://yongqiang.blog.csdn.net/

最新文章

  1. 提高网站访问性能——Tomcat优化
  2. zerodivisionerror什么意思python-python里的raise是什么意思
  3. 公司内部图书管理界面原型设计图
  4. 彻底弄懂dalvik字节码【一】
  5. ktor框架用到了netty吗_如何使用 Ktor 快速开发 Web 项目
  6. 牛津、剑桥、OpenAI联合发出AI预警《人工智能的恶意使用》
  7. -[UIView hitTest:withEvent:] 方法总结
  8. tar打包/解包用法
  9. css美化浏览器默认滚动条样式
  10. 数据人必会的Excel|掌握32个Excel小技巧,成为效率达人(一)
  11. 如何设置ddns动态域名服务实现外网访问
  12. Windows 2003 Server报 由于这台计算机没有远程桌面客户端访问许可证
  13. ssm智慧养老服务平台毕业设计-附源码211709
  14. tar 慢 加快_加快慢的Outlook 2007
  15. 实时时间(24小时制)
  16. 记一次 idea 配置scala 和运行 IDEA 错误: 找不到或无法加载主类
  17. sql注入基础原理(SQL injection)
  18. Learning to Compare Image Patches via Convolutional Neural Networks
  19. SpringCloud无法获取Nacos中的配置文件信息
  20. 【附源码】计算机毕业设计JAVA罪犯信息管理系统

热门文章

  1. YII2 - Yii 2 控制器不能包含大写字母的Bug
  2. Hibernatediscriminator-value用法
  3. Linux下安装 mxnet
  4. HDU 3037 Saving Beans (Lucas法则)
  5. 让改变输入法回车键的图标
  6. 另一个ExcelHelper
  7. 原 荐 简单说说Kafka中的时间轮算法
  8. 提升购物体验,跨境电商如何做企业管理?
  9. Eclipse 运行程序
  10. java代码排序实践