概述 | 软件包 | 类 | 树 | 索引 | 帮助

上一个类 下一个类 | 框架 无框架
摘要： 嵌套 | 字段 | 构造函数 | 方法 | 详细信息： 字段 | 构造函数 | 方法

## application.workbooks.workbook.tables
类 Table

    java.lang.Object
      application.workbooks.workbook.tables.Table

    public class Table

extends java.lang.Object

代表单个表格。Table 对象是 Tables 集合的一个成员。Tables 集合包含当前文档中的所有表格。

方法摘要
`void` | `autoFit(int autofitType)` 设置表格如何自动调整表格的大小。
`TextRange` | `convertToText(char seperator, boolean isNesting)` 将表格转换为文本并返回一个 TextRange 对象。
`void` | `delete()` 删除指定的表格。
`BorderAttribute` | `getBorderAttribute()` 得到表格外边框的边框属性。
`Cell` | `getCell(int row, int column)` 得到指定行号列号的单个单元格对象。
`Columns` | `getColumns()` 返回一个 Columns 集合，该集合代表表格中的所有列。
`Columns` | `getColumns(int startColumn, int endColumn)` 返回一个 Columns 集合，该集合代表指定集合的多个表格列。
`java.lang.String` | `getName()` 得到当前表格的名字。
`Rows` | `getRows()` 返回一个 Rows 集合，该集合代表表格中所有的表格行。
`Rows` | `getRows(int startRow, int endRow)` 返回一个 Rows 集合，该集合代表指定集合的多个表格行。
`Cells` | `getSelectionCells()` 得到视图上当前选中的表格单元格区域。
`ShadingAttribute` | `getShadingAttribute()` 得到整个表格的底纹属性。
`TableAttribute` | `getTableAttribute()` 得到当前表格的表格属性集。
`void` | `select()` 选择指定的表格。
`void` | `setBorderAttribute(BorderAttribute borderAttribute)` 设置表格外边框的边框属性。
`boolean` | `setName(java.lang.String tableName)` 设置当前表格的名字。
`void` | `setShadingAttribute(ShadingAttribute shadingAttribute)` 设置整个表格的底纹属性。
`void` | `setTableAttribute(TableAttribute tableAttribute)` 设置当前表格的表格属性集。
`void` | `setTableHeader(int styleType, java.lang.String[] titles)` 插入斜线表头。
`void` | `setTableStyle(int style)` 设置当前表格的样式。
`void` | `setTableStyle(int style, boolean applyStyleHeadingRow, boolean applyStyleLastRow, boolean applyStyleFirstColumn, boolean applyStyleLastColumn)` 设置当前表格的样式。
`void` | `sort(WpSortProperties sortProperties)` 对表格按指定的排序选项进行排序。
`void` | `splitTable(int row)` 在表格中紧靠指定行的上面插入一空段落，并且返回一个 Table 对象，此对象包含指定行及其下一行。

从类 java.lang.Object 继承的方法
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

方法详细信息

### autoFit

    public void autoFit(int autofitType)

  设置表格如何自动调整表格的大小。可以根据表格单元格的内容或文档窗口的宽度重新调整表格的大小， 也可使用本方法来关闭“自动调整”功能，这样，表格的大小是固定值，而不随单元格内容或窗口宽度而改变。 说明：如果 TableAttribute中的AllowAutoFit 属性值当前为 False，则将“自动调整”操作设为 AUTOFIT_CONTENT 或 AUTOFIT_WINDOW 后，其值会变为 True。同样，如果 AllowAutoFit 属性值当前为 True， 则将“自动调整”操作设为 FIXED_COLUMN_WIDTH后，该属性值会变为 False。

  参数：
    `autofitType` - 表格自动调整大小的方式，可以有以下三种方式：

         TableConstants.AUTOFIT_CONTENT = 0     根据内容调整表格
         TableConstants.AUTOFIT_WINDOW = 1      根据窗口调整表格
         TableConstants.FIXED_COLUMN_WIDTH = 2  固定列宽

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5, TableConstants.FIXED_COLUMN_WIDTH, 40.0f);
         application.workbooks.workbook.tables.Cell cell = table.getCell(2,3);
         cell.getRange().insertText("单元格对象");
         table.autoFit(TableConstants.AUTOFIT_CONTENT);

  抛出：
    `MacroRunException` - 当自动调整表格常量不存在
  另请参见：
    `TableAttribute.setAllowAutoFit(boolean)`, `TableAttribute.isAllowAutoFit()`

### convertToText

    public TextRange convertToText(char seperator,
                                   boolean isNesting)

  将表格转换为文本并返回一个 TextRange 对象。 说明：表格转换为文本，原来的表格被删除，转换后的新文本在原表格起始位置插入。

  参数：
    `seperator` - 分隔符，作为单元格转换为文本时的分隔符，是一个字符值，默认有三种

         段落标记   '\n'
         制表符    '\t'  (默认)
         逗号      ',' 也可以为其他字符，如 '*'....

    `isNesting` - 是否要将嵌套表格转换为文本
  返回：
    返回经表格转换后的一个文本区域，该对象代表带分隔符的文本

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         application.workbooks.workbook.tables.Rows rows = table.getRows();
         for (int i = 0; i < rows.getCount(); i++)
         {
              Row row = rows.getRow(i);
              Cells cells = row.getCells();
              for (int j = 0; j < cells.getCount(); j++)
              {
                  cells.getCell(j).getRange().insertText("行" + i + "列" + j);
              }
         }
         TextRange range = table.convertToText('\n', false);
         range.select();

### delete

    public void delete()

  删除指定的表格。

  例子：

       Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
       TextRange range = doc.getRange(0);
       Tables tables = doc.getTables();
       Table table1 = tables.addTable(range, 5, 5, "我的表格");
       range.insertText("无锡永中科技有限公司\n无锡永中科技有限公司\n无锡永中科技有限公司\n");
       range = doc.getRange(doc.getLength());
       Table table2 = tables.addTable(range, 3, 4);
       table1.delete();

  另请参见：
    `Tables.removeTable(int)`, `Tables.removeTable(String)`

### getBorderAttribute

    public BorderAttribute getBorderAttribute()

  得到表格外边框的边框属性。

  返回：
    外边框属性

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         BorderAttribute borderAttribute = table.getBorderAttribute();
         System.out.println("返回表格外边框的类型为:"+ borderAttribute.getBorderType());

  另请参见：
    `setBorderAttribute(BorderAttribute)`

### getCell

    public Cell getCell(int row,
                        int column)

  得到指定行号列号的单个单元格对象。

  参数：
    `row` - 指定的行号（注意：表格中的行列号是从1开始计算的）
    `column` - 指定的列号（注意：表格中的行列号是从1开始计算的）
  返回：
    指定单元格对象

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         application.workbooks.workbook.tables.Cell cell = table.getCell(2,3);
         cell.getRange().insertText("单元格对象");

### getColumns

    public Columns getColumns()

  返回一个 Columns 集合，该集合代表表格中的所有列。

  返回：
    返回表格中所有列对象的集合

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         application.workbooks.workbook.tables.Columns columns = table.getColumns();
         System.out.println("表格共有" + columns.getCount() + "列");

  另请参见：
    `getColumns(int, int)`

### getColumns

    public Columns getColumns(int startColumn,
                              int endColumn)

  返回一个 Columns 集合，该集合代表指定集合的多个表格列。

  参数：
    `startColumn` - 指定集合的起始列号（注意：表格中的行列号是从1开始计算的）
    `endColumn` - 指定集合的结束列号（注意：表格中的行列号是从1开始计算的）
  返回：
    返回指定列对象的集合

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         application.workbooks.workbook.tables.Columns columns = table.getColumns(2, 3);
         System.out.println("表格共有" + columns.getCount() + "列");

  抛出：
    `MacroRunException` - 当startColumn大于等于endColumn时，或者当参数越界时
  另请参见：
    `getColumns()`

### getName

    public java.lang.String getName()

  得到当前表格的名字。

  返回：
    表格的名字

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         tables.addTable(range, 5, 5, "我的表格");
         Table table = tables.getTable(0);
         System.out.println("表格名字为：" + table.getName());

### getRows

    public Rows getRows()

  返回一个 Rows 集合，该集合代表表格中所有的表格行。

  返回：
    返回表格中所有行对象的集合

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         application.workbooks.workbook.tables.Rows rows = table.getRows();
         System.out.println("表格共有" + rows.getCount() + "行");

### getRows

    public Rows getRows(int startRow,
                        int endRow)

  返回一个 Rows 集合，该集合代表指定集合的多个表格行。

  参数：
    `startRow` - 指定集合的起始行号（注意：表格中的行列号是从1开始计算的）
    `endRow` - 指定集合的结束行号（注意：表格中的行列号是从1开始计算的）
  返回：
    返回指定行对象的集合

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         application.workbooks.workbook.tables.Rows rows = table.getRows(2, 4);
         System.out.println("表格共有" + rows.getCount() + "行");

  抛出：
    `MacroRunException` - 当startRow大于等于endRow时，或者当参数越界时

### getSelectionCells

    public Cells getSelectionCells()

  得到视图上当前选中的表格单元格区域。

  返回：
    返回当前选中的单元格区域。 说明：返回的是一个单元格集合的对象。如果视图上当前选取的范围超过了本表格的范围，则返回空。

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         Cells cells = table.getSelectionCells();
         application.workbooks.workbook.tables.CellAttribute cellAttribute = cells.getCellAttribute();
         cellAttribute.setPreferredWidthMeasure(TableConstants.CELL_WIDTH_MEASURE);
         cellAttribute.setPreferredWidth(40.0f);
         cells.setCellAttribute(cellAttribute);

### getShadingAttribute

    public ShadingAttribute getShadingAttribute()

  得到整个表格的底纹属性。

  返回：
    表格的底纹属性

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         ShadingAttribute shadingAttribute = table.getShadingAttribute();
         System.out.println("返回整个表格的底纹图案索引:"+ shadingAttribute.getTextureIndex());

  另请参见：
    `setShadingAttribute(ShadingAttribute)`

### getTableAttribute

    public TableAttribute getTableAttribute()

  得到当前表格的表格属性集。

  返回：
    返回表格属性集

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         TableAttribute tableAttribute = table.getTableAttribute();
         System.out.println("表格的对齐方式为：" + tableAttribute.getAlignment());
         System.out.println("表格的列宽是否会根据单元格中的内容自动调整：" + tableAttribute.isAllowAutoFit());

  另请参见：
    `setTableAttribute(TableAttribute)`

### select

    public void select()

  选择指定的表格。

  例子：

       Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
       TextRange range = doc.getRange(0);
       Tables tables = doc.getTables();
       tables.addTable(range, 5, 5);
       Table table = tables.getTable(0);
       table.select();

### setBorderAttribute

    public void setBorderAttribute(BorderAttribute borderAttribute)

  设置表格外边框的边框属性。

  参数：
    `borderAttribute` - 外边框属性

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         BorderAttribute borderAttribute = table.getBorderAttribute();
         borderAttribute.setBorderType(BorderAndShadingConstants.BORDERTYPE_BOX);
         borderAttribute.setBorderLineType(BorderAndShadingConstants.TOP,1);
         borderAttribute.setBorderLineType(BorderAndShadingConstants.LEFT,3);
         borderAttribute.setBorderLineType(BorderAndShadingConstants.RIGHT,6);
         borderAttribute.setBorderLineType(BorderAndShadingConstants.BOTTOM,8);
         borderAttribute.setBorderLineColor(BorderAndShadingConstants.TOP,Color.RED);
         borderAttribute.setBorderLineColor(BorderAndShadingConstants.LEFT,Color.CYAN);
         borderAttribute.setBorderLineColor(BorderAndShadingConstants.RIGHT,Color.YELLOW);
         borderAttribute.setBorderLineColor(BorderAndShadingConstants.BOTTOM,Color.ORANGE);
         borderAttribute.setBorderLineWidth(BorderAndShadingConstants.TOP,8f);
         borderAttribute.setBorderLineWidth(BorderAndShadingConstants.LEFT,5f);
         borderAttribute.setBorderLineWidth(BorderAndShadingConstants.RIGHT,3f);
         borderAttribute.setBorderLineWidth(BorderAndShadingConstants.BOTTOM,1f);
         table.setBorderAttribute(borderAttribute);

  抛出：
    `MacroRunException` - 当参数为NULL
  另请参见：
    `getBorderAttribute()`

### setName

    public boolean setName(java.lang.String tableName)

  设置当前表格的名字。

  参数：
    `tableName` - 指定表格的名字
  返回：
    布尔值，如果为true，则表示修改成功，否则为false

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         tables.addTable(range, 5, 5, "我的表格");
         Table table = tables.getTable(0);
         table.setName("表格新名字");

  另请参见：
    `getName()`

### setShadingAttribute

    public void setShadingAttribute(ShadingAttribute shadingAttribute)

  设置整个表格的底纹属性。

  参数：
    `shadingAttribute` - 表格的底纹属性

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         ShadingAttribute shadingAttribute = table.getShadingAttribute();
         shadingAttribute.setTextureIndex(10);
         table.setShadingAttribute(shadingAttribute);

  抛出：
    `MacroRunException` - 当参数为NULL
  另请参见：
    `getShadingAttribute()`

### setTableAttribute

    public void setTableAttribute(TableAttribute tableAttribute)

  设置当前表格的表格属性集。

  参数：
    `tableAttribute` - 表格属性集

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         TableAttribute tableAttribute = table.getTableAttribute();
         tableAttribute.setAlignment(TableConstants.TABLE_RIGHT);
         tableAttribute.setAllowAutoFit(true);
         table.setTableAttribute(tableAttribute);

  抛出：
    `MacroRunException` - 当表格属性集为null时
  另请参见：
    `getTableAttribute()`

### setTableHeader

    public void setTableHeader(int styleType,
                               java.lang.String[] titles)

  插入斜线表头。斜线表头指的是在表格首个单元格中绘制斜线，斜线把单元格划分成多个区域，每个区域都可设置标题文字，以适应表格样式丰富的特点。

  参数：
    `styleType` - 斜线表头的样式类型，取值如下(共8种样式)：

            TableConstants.STYLE_0 = 0  样式为无  （不需要设置标题元素，可以设为NULL）
            TableConstants.STYLE_1 = 1  样式一    （标题元素设置顺序为：行标题、列标题）
            TableConstants.STYLE_2 = 2  样式二    （标题元素设置顺序为：行标题、列标题）
            TableConstants.STYLE_3 = 3  样式三    （标题元素设置顺序为：行标题、数据标题、列标题）
            TableConstants.STYLE_4 = 4  样式四    （标题元素设置顺序为：行标题、数据标题、列标题）
            TableConstants.STYLE_5 = 5  样式五    （标题元素设置顺序为：行标题一、行标题二、列标题）
            TableConstants.STYLE_6 = 6  样式六    （标题元素设置顺序为：行标题、列标题一、列标题二）
            TableConstants.STYLE_7 = 7  样式七    （标题元素设置顺序为：行标题一、行标题二、列标题一、列标题二）

    `titles` - 表头的标题，其中有：包含4种标题元素.例:行标题，列标题，标题三，标题四 说明：表头的标题是一个String数组，根据斜线表头的样式类型不同，这个数组长度也是可变的。

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         application.workbooks.workbook.tables.Rows rows = table.getRows();
         Row row = rows.getRow(0);
         row.setRowHeightMeasure(TableConstants.ROW_MINIM_VALUE);
         row.setRowHeight(40.0f);
         table.setTableHeader(TableConstants.STYLE_1, new String[]{"行标题","列标题"});

  抛出：
    `MacroRunException` - 当斜线表头的样式类型超出范围时
    `MacroRunException` - 当表头的标题数组为null时

### setTableStyle

    public void setTableStyle(int style)

  设置当前表格的样式。 说明：指定表格样式是否必须包含标题行格式，最后一行的格式，第一列的格式，最后一列的格式，以便为表格应用该格式。

  参数：
    `style` - 表格样式集的索引，为TableConstants类的某一个常量值

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         table.setTableStyle(1);

  抛出：
    `MacroRunException` - 当样式索引超出范围时
  另请参见：
    `setTableStyle(int, boolean, boolean, boolean, boolean)`

### setTableStyle

    public void setTableStyle(int style,
                              boolean applyStyleHeadingRow,
                              boolean applyStyleLastRow,
                              boolean applyStyleFirstColumn,
                              boolean applyStyleLastColumn)

  设置当前表格的样式。

  参数：
    `style` - 表格样式集的索引，为TableConstants类的某一个常量值
    `applyStyleHeadingRow` - 指定表格样式是否必须包含标题行格式，以便为表格应用该格式。如果为true，则必须包含。
    `applyStyleLastRow` - 指定表格样式是否必须包含最后一行的格式，以便为表格应用该格式。如果为true，则必须包含。
    `applyStyleFirstColumn` - 指定表格样式是否必须包含第一列的格式，以便为表格应用该格式。如果为true，则必须包含。
    `applyStyleLastColumn` - 指定表格样式是否必须包含最后一列的格式，以便为表格应用该格式。如果为true，则必须包含。

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         table.setTableStyle(1, true, false, false, true);

  抛出：
    `MacroRunException` - 当样式索引超出范围时
  另请参见：
    `setTableStyle(int)`

### sort

    public void sort(WpSortProperties sortProperties)

  对表格按指定的排序选项进行排序。

  参数：
    `sortProperties` - 定义了表格排序选项的属性集

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         application.workbooks.workbook.tables.Rows rows = table.getRows();
         for (int i = 0; i < rows.getCount(); i++)
         {
              Row row = rows.getRow(i);
              Cells cells = row.getCells();
              for (int j = 0; j < cells.getCount(); j++)
              {
                  cells.getCell(j).getRange().insertText("行" + i + "列" + j);
              }
         }
         WpSortProperties isort = new WpSortProperties();
         isort.setSortKey1(2);
         isort.setAscending1(false);
         table.sort(isort);

### splitTable

    public void splitTable(int row)

  在表格中紧靠指定行的上面插入一空段落，并且返回一个 Table 对象，此对象包含指定行及其下一行。

  参数：
    `row` - 指定行的行号，这个行对象代表表格分隔的边界（注意：表格中的行列号是从1开始计算的）

    例子：

         Document doc = Application.getWorkbooks().getActiveWorkbook().getDocuments().getActiveDocument();
         TextRange range = doc.getRange(0);
         Tables tables = doc.getTables();
         Table table = tables.addTable(range, 5, 5);
         table.splitTable(3);

  抛出：
    `MacroRunException` - 当指定行号超出范围时

概述 | 软件包 | 类 | 树 | 索引 | 帮助

上一个类 下一个类 | 框架 无框架
摘要： 嵌套 | 字段 | 构造函数 | 方法 | 详细信息： 字段 | 构造函数 | 方法

版权所有 2001-2008 无锡永中科技有限公司