[]
大纲列以树视图显示层级行数据。使用 IWorksheet.getOutlineColumn() 访问大纲列,然后为层级显示配置列索引、可见性选项和级别设置。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A2").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowImage(true);
booleangetCheckStatus(int row) booleangetCollapsed(int row) intintbooleanbooleanbooleanvoidrefresh()voidsetCheckStatus(int row,
boolean checkStatus) voidsetCollapsed(int row,
boolean collapsed) voidsetCollapseIndicator(ImageSource value) voidsetColumnIndex(int value) voidsetExpandIndicator(ImageSource value) voidsetMaxLevel(int value) voidsetShowCheckBox(boolean value) voidsetShowImage(boolean value) voidsetShowIndicator(boolean value) 大纲列会根据工作表中的缩进级别,以树状结构显示层级行。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
int columnIndex = outlineColumn.getColumnIndex();
指定的列将作为树状结构显示层级行。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
value - 要显示为大纲列的列的从零开始的索引。启用此属性后,大纲列可以为层级行显示通过 getImages() 配置的级别图像。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowImage(true);
boolean showImage = outlineColumn.getShowImage();
getImages() 配置的级别图像,则为 true;否则为 false。启用此属性后,大纲列可以为层级行显示通过 getImages() 配置的级别图像。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowImage(true);
value - true 表示在大纲列中显示图像;否则为 false。启用此属性后,大纲列会为层级显示中的行显示复选框。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
boolean showCheckBox = outlineColumn.getShowCheckBox();
true;否则为 false。启用此属性后,大纲列会为层级显示中的行显示复选框。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowCheckBox(true);
value - true 表示在大纲列中显示复选框;否则为 false。大纲指示器显示大纲列中层次行的展开或折叠状态。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowIndicator(true);
boolean showIndicator = outlineColumn.getShowIndicator();
true;否则为 false。该指示器用于显示大纲列中层级行的展开或折叠状态。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowIndicator(true);
value - true 表示显示大纲指示器;否则为 false。最大级别决定大纲列支持多少个层次行级别。默认值为 10。
worksheet.getRange("A1:A4").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}, {"Node 1.1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
worksheet.getRange("A4").setIndentLevel(2);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setMaxLevel(3);
int maxLevel = outlineColumn.getMaxLevel();
10。最大级别决定大纲列支持多少个层级行级别。
worksheet.getRange("A1:A4").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}, {"Node 1.1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
worksheet.getRange("A4").setIndentLevel(2);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setMaxLevel(3);
value - 最大行大纲级别。使用此方法可访问大纲列的图像集合。返回列表中的每一项表示启用图像后为特定大纲级别显示的图像。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowImage(true);
outlineColumn.getImages().add(new ImageSource(new java.io.ByteArrayInputStream(new byte[] {(byte) 137, 80, 78, 71, 13, 10, 26, 10}), ImageType.PNG));
java.util.List<ImageSource> images = outlineColumn.getImages();
当大纲列显示层级指示器时,此图像会显示在可展开的行上。
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setExpandIndicator(new ImageSource(
new java.io.ByteArrayInputStream(new byte[] {(byte) 137, 80, 78, 71, 13, 10, 26, 10}),
ImageType.PNG));
ImageSource indicator = outlineColumn.getExpandIndicator();
当大纲列显示层级指示器时,此图像会显示在可展开的行上。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setExpandIndicator(new ImageSource(
new java.io.ByteArrayInputStream(new byte[] {(byte) 137, 80, 78, 71, 13, 10, 26, 10}),
ImageType.PNG));
value - 展开指示器的图像源。不得为 null。当大纲列为当前大纲级别显示折叠指示器时,此图像会显示在分组行上。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setCollapseIndicator(new ImageSource(
new java.io.ByteArrayInputStream(new byte[] {(byte) 137, 80, 78, 71, 13, 10, 26, 10}),
ImageType.PNG));
ImageSource indicator = outlineColumn.getCollapseIndicator();
当大纲列显示层级指示器时,此图像会显示在可折叠的行上。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setCollapseIndicator(new ImageSource(
new java.io.ByteArrayInputStream(new byte[] {(byte) 137, 80, 78, 71, 13, 10, 26, 10}),
ImageType.PNG));
value - 折叠指示器的图像源。不支持 null。当大纲列显示复选框时,使用此方法可设置某一行是否标记为已选中。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowCheckBox(true);
outlineColumn.setCheckStatus(1, true);
row - 要更改其勾选状态的行索引。checkStatus - 指定行是否已选中。启用复选框后,使用此方法确定指定的大纲行是否已勾选。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.setShowCheckBox(true);
outlineColumn.setCheckStatus(1, true);
boolean checked = outlineColumn.getCheckStatus(1);
row - 行的索引。使用此方法可设置大纲层级结构中的行是否以折叠状态显示。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
worksheet.getOutline().setSummaryRow(SummaryRow.Above);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.refresh();
outlineColumn.setCollapsed(1, true);
boolean collapsed = outlineColumn.getCollapsed(1);
row - 要设置折叠状态的行的索引。collapsed - true 表示以折叠状态显示指定行;否则为 false。使用此方法可读取大纲层级结构中某行的折叠状态。
worksheet.getRange("A1:A3").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}});
worksheet.getRange("A3").setIndentLevel(1);
worksheet.getOutline().setSummaryRow(SummaryRow.Above);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
outlineColumn.refresh();
outlineColumn.setCollapsed(1, true);
boolean collapsed = outlineColumn.getCollapsed(1);
row - 要获取折叠状态的行的索引。根据工作表中的当前缩进级别,为当前大纲列重新构建行大纲层级结构。更改层级数据或更新缩进级别后,使用此方法可应用最新的大纲结构。
worksheet.getRange("A1:A4").setValue(new Object[][] {{"Name"}, {"Node 1"}, {"Node 1.1"}, {"Node 2"}});
worksheet.getRange("A3").setIndentLevel(1);
IOutlineColumn outlineColumn = worksheet.getOutlineColumn();
outlineColumn.setColumnIndex(0);
worksheet.getRange("A4").setIndentLevel(1);
outlineColumn.refresh();