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

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

## application.workbooks.workbook.worksheets.worksheet
类 Range

    java.lang.Object
      application.workbooks.workbook.worksheets.worksheet.Range

    public class Range

extends java.lang.Object

该类定义了对单元格或单元格区域进行操作的一些方法，如为单元格区域设值，复制和粘贴单元格区域， 在单元格区域内查找或替换数据，填充数据，筛选数据等。

方法摘要
`void` | `activate(int row, int column)` 设置活动单元格。
`void` | `activate(java.lang.String cellAddress)` 设置活动单元格。
`int[]` | `advancedFilter(java.lang.String criteriaRange, java.lang.String pasteRange, boolean isCopy, boolean remove)` 高级筛选。
`void` | `allocate(double amount, double multiple, java.lang.String[] cellAddress, double[] fixupValue)` 将分配总数按照分配比例及条件进行分配。
`boolean` | `allowEdit()` 是否允许编辑。
`void` | `analyzeTable(java.lang.String rowAddress, java.lang.String columnAddress)` 创建一假设分析表。
`void` | `autoFill(java.lang.String destination, int type)` 用拖曳方式自动填充。
`void` | `autofit()` 将列宽、行高设置为最佳。
`void` | `autoSum()` 对区域进行自动求和。
`void` | `clear()` 清除所选区域中单元格的全部特性，如格式、内容、注释等。
`void` | `clearComments()` 清除所选区域中单元格的注释。
`void` | `clearContents()` 清除所选区域中单元格的内容。
`void` | `clearFormats()` 清除所选区域中单元格的格式。
`void` | `clearOutline()` 清除分级显示。
`void` | `consolidate(java.lang.String[] rangeAddress, int function, boolean isRow, boolean isColumn, boolean createLink)` 合并计算单元格数据。
`void` | `copy()` 复制所选的单元格区域。
`int[]` | `customAutoFilter(int index, int operator, int criteriaType1, java.lang.String criteria1, int criteriaType2, java.lang.String criteria2)` 设置自定义自动筛选方式(前置条件：已做自动筛选)。
`void` | `cut()` 剪切所选的单元格区域。
`void` | `fillRandom()` 以随机数填充所选区域的单元格。
`void` | `fillSeries(boolean columnRow, int type, int unit, double step, double stop, boolean trend)` 用序列或日期填充选中单元格区域。
`int[]` | `filterByColor(int index, int type, int colorIndex)` 按颜色筛选。
`Cell[]` | `find(java.lang.String text)` 查找。
`java.lang.String` | `getAddress()` 获取当前单元格区域的地址。
`FillAttribute` | `getBackground()` 获得单元格区域的填充属性。
`application.workbooks.workbook.style.border.SsBorderAttribute` | `getBorderAttribute()` 获得单元格区域的边框属性。
`Cell[]` | `getCells()` 获得单元格区域所有的单元格。
`Columns` | `getColumns()` 返回当前选中区域的列对象。
`int` | `getEndColumn()` 获取结束列列号。
`int` | `getEndRow()` 获取单元格区域结束行行号。
`FontAttribute` | `getFontAttribute()` 获得单元格区域的字体属性。
`FormatCellAttribute` | `getFormatCellAttribute()` 获得单元格区域的单元格属性。
`int` | `getHeight()` 返回单元格区域的高度，单位为象素
`Rows` | `getRows()` 返回当前选中区域的行对象
`int` | `getStartColumn()` 获取单元格区域起始列列号。
`int` | `getStartRow()` 获取单元格区域起始行行号。
`int` | `getWidth()` 返回单元格区域的宽度，单位为象素
`Worksheet` | `getWorksheet()` 返回所属的工作表对象。
`void` | `goalSeek(double targetValue, java.lang.String changeAddress)` 单变量求解。
`void` | `group(boolean isRow)` 组合区域。
`void` | `hideDetail()` 隐藏明细数据。
`void` | `insertEntireColumn()` 插入整列。
`void` | `insertEntireRow()` 插入整行。
`boolean` | `isProtected()` 单元格区域是否被保护。
`void` | `merge()` 合并单元格。
`void` | `mergeAcross()` 按选取单元格区域的行合并单元格(只合并行不合并列)。
`void` | `mergeColumns(char delimiter, int row, int column, java.lang.String fileName)` 将多列文本加上分隔符合并为一列，并可存到文本文件中。
`Range` | `offset(int rows, int columns)` 与当前的单元格区域偏移指定的行列数后的单元格区域。
`void` | `outline()` 自动建立分级显示。
`void` | `paste()` 把复制在粘贴板中的数据粘贴到指定位置。
`void` | `paste(boolean withFormat)` 是否带格式粘贴。
`void` | `pasteAsHyperlink()` 作为超链接粘贴链接在粘贴板上的数据。
`void` | `pasteLink()` 将工作表中的源数据复制后以链接的形式粘贴(当源数据改变时粘贴区域的数据也会随之相应改变)。
`void` | `pasteLink(boolean withFormat)` 是否带格式粘贴链接。
`void` | `pasteSpecial(int pasteFlag, int operationFlag, boolean skipFlag, boolean transposeFlag)` 选择性粘贴。
`void` | `protect(int type, java.lang.String password)` 对单元格或单元格区域进行保护，并设置保护类型。
`void` | `removeDuplicatedItems(int[] items, boolean hasTitle, boolean blank, boolean output)` 删除重复项。
`void` | `removeSubtotal()` 删除分类汇总。
`void` | `replaceAllWith(java.lang.String findWhat, java.lang.String replaceWith)` 缺省全部替换。
`void` | `select()` 选取单元格区域。
`void` | `setAlternateBackground(FillAttribute fa)` 设置交替背景。
`void` | `setAutoFilter()` 给当前的单元格区域设置自动筛选或清除自动筛选。
`void` | `setAutoFormat(int index)` 设置缺省的自动套用格式。
`void` | `setAutoFormat(int index, boolean number, boolean font, boolean alignment, boolean border, boolean pattern, boolean widthHight)` 设置自动套用格式。
`void` | `setBorderAttribute(BorderAttribute ba)` 设置边框属性。
`void` | `setConditionalFormatting(ConditionalFormatting cf)` 设置条件格式。
`void` | `setFillAttribute(FillAttribute fa)` 设置填充属性。
`void` | `setFontAttribute(FontAttribute fa)` 设置字体属性。
`void` | `setFormatCellAttribute(FormatCellAttribute attr)` 设置单元格格式。
`void` | `setFormulaArray(java.lang.String value)` 设置数组公式。
`void` | `setName(java.lang.String name)` 设置单元格区域的名称。
`void` | `setOutline(boolean isRowSelected, boolean isColumnSelected)` 分级设置。
`void` | `setValidation(ValidationProperties validationProperties)` 校验数据的有效性。
`void` | `setValue(boolean value)` 用布尔型数据设置所选单元格区域的内容。
`void` | `setValue(double value)` 用双精度型数据设置所选单元格区域的内容。
`void` | `setValue(long value)` 用长整型数据设置所选单元格区域的内容。
`void` | `setValue(java.lang.String value)` 用字符串类型的数据设置所选单元格区域的内容。
`void` | `showDetail()` 显示明细数据。
`void` | `sort(SortProperties sortProperties)` 对所选单元格区域中的数据进行排序。
`void` | `subtotal(int fieldIndex, int styleIndex, int[] item, boolean change, boolean pageBreak, boolean result, java.lang.String aimAddress)` 设置分类汇总。
`void` | `textSplitting(TextSplittingProperties textSplitting)` 给选定的单元格或单元格区域（列区域）设置文本分列。
`void` | `ungroup(boolean isRow)` 取消组合。
`void` | `unmerge()` 清除选取单元格区域里存在的合并单元格。
`boolean` | `unprotect(java.lang.String password)` 解除单元格或单元格区域的保护。

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

方法详细信息

### activate

    public void activate(int row,
                         int column)

  设置活动单元格。

  参数：
    `row` - 单元格行号
    `column` - 单元格列号

    例子：

         //根据指定的行号和列号，将单元格设置为活动单元格。本例将单元格(2, 3)设置为活动单元格。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         range.activate(2,3);

### activate

    public void activate(java.lang.String cellAddress)

  设置活动单元格。

  参数：
    `cellAddress` - 单元格引用，如"A1"

    例子：

         //将单元格"A1"设置为活动单元格。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         range.activate("A1");

### advancedFilter

    public int[] advancedFilter(java.lang.String criteriaRange,
                                java.lang.String pasteRange,
                                boolean isCopy,
                                boolean remove)

  高级筛选。(基于给定的条件区域从数据清单中筛选或复制数据)

  参数：
    `criteriaRange` - 条件区域
    `pasteRange` - 粘贴区域
    `isCopy` - 布尔型，如为true，则把筛选结果拷贝到其他区域；否则，不把筛选结果拷贝到其他区域
    `remove` - 布尔型，如为true，要把重复的内容除去；否则，不把重复的内容除去

    例子：

         //对单元格区域"B3:E15"进行高级筛选。条件区域为"B4:E18"，粘贴区域为"B21:E22"，不把筛选的结果拷贝到其它区域，不把重复的内容除去。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E15");
         range.advancedFilter("B4:E18", "B21:E22", false, false);

### allocate

    public void allocate(double amount,
                         double multiple,
                         java.lang.String[] cellAddress,
                         double[] fixupValue)

  将分配总数按照分配比例及条件进行分配。

  参数：
    `amount` - 分配总额，为double型
    `multiple` - 分配倍数，为double型
    `cellAddress` - 单元格地址引用，为一数组，如无单元格需设置固定值，则为null
    `fixupValue` - double型数组，单元格固定值，必须和单元格地址一一对应。若无单元格需设置固定值，则为null

    例子：

         //将分配总数按照分配比例及条件进行分配。分配总额为5680，分配倍数为10，单元格地址引用为"C7","C8",相应的值为300和500。
         Worksheet ws = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
         Range range = ws.getRange("A1:C1");
         range.setValue("红利分配");
         range.merge(true);

         FillAttribute fill = new FillAttribute();
         fill.setTexture(Color.cyan);
         range.setBackground(fill);

         String[] heading = {"姓名", "年资历", "红利"};
         String[] names = {"按时", "但是", "大家", "可和", "的可", "额角", "知道", "小计"};
         long[] years = {1, 2, 1, 2, 3, 2, 2};

         ws.setCellValue(2, 1, heading, true);
         ws.setCellValue(3, 1, names, false);
         ws.setCellValue(3, 2, years, false);
         ws.setCellValue(3, 3, years, false);
         range = ws.getRange("A2:C2");
         fill.setTexture(Color.yellow);
         range.setBackground(fill);
         range = ws.getRange("A3:A10");
         FontAttribute font = new FontAttribute();
         font.setForeground(Color.blue);
         range.setFontAttribute(font);
         Cell cell = ws.getCell("C10");
         cell.setValue("=sum(C3:C9)");
         range = ws.getRange("C3:C9");
         range.allocate(5680, 10, new String[]{"C7", "C8"}, new double[]{350, 500});

### allowEdit

    public boolean allowEdit()

  是否允许编辑。

  返回：
    是否允许编辑，TRUE表示允许编辑，FALSE表示不允许

    例子：

         //在控制台上输出单元格区域"B3:E5"是否允许编辑，true表示允许编辑，false表示不允许编辑。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         boolean allow = range.allowEdit();
         System.out.println("allow edit :" + allow);

### analyzeTable

    public void analyzeTable(java.lang.String rowAddress,
                             java.lang.String columnAddress)

  创建一假设分析表。

  参数：
    `rowAddress` - 若不为null则是引用行的单元格地址
    `columnAddress` - 若不为null则是引用列的单元格地址

    例子：

         //创建一张假设分析表，引用列的单元格地址"B8"。
         Worksheet ws = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
         ws.setCellValue(1, 1, "银行贷款分析");
         Range range = ws.getRange("A1:D2");
         range.merge(true);
         FillAttribute fill = new FillAttribute();
         fill.setTexture(Color.yellow);
         range.setBackground(fill);

         String[] items = {"迂腐顶金", "贷款额", "贷款期限", "利率"};
         ws.setCellValue(5, 1, items, false);
         ws.setCellValue(5, 2, "无");
         ws.setCellValue(6, 2, 500000);
         ws.setCellValue(7, 2, 48);
         ws.setCellValue(8, 2, 0.075);
         double[] rate = {0.07, 0.080, 0.085, 0.09};
         ws.setCellValue(4, 3, "假设利率");
         ws.setCellValue(5, 3, rate, false);
         ws.setCellValue(3, 4, "月支付额");
         ws.setCellValue(4, 4, "=PMT(B8/12, B7, B6)");

         range = ws.getRange("C4:D8");
         range.analyzeTable(null, "B8");

  抛出：
    `MacroRunException` - 当给定的区域地址错误或越界

### autoFill

    public void autoFill(java.lang.String destination,
                         int type)

  用拖曳方式自动填充。（与用右键拖动填充柄来填充系列的效果一样）

  参数：
    `destination` - 要填充的单元格，目标区域必须包括源区域。
    `type` - 填充类型，其常量取值如下:

               FillConstants.DRAG_DEFAULT  默认的填充类型(序列填充)
               FillConstants.DRAG_COPY     复制填充
               FillConstants.DRAG_SERIES   序列填充
               FillConstants.DRAG_FORMAT   格式填充
               FillConstants.DRAG_VALUE    数值填充
               FillConstants.DRAG_DAY      天数填充
               FillConstants.DRAG_WEEKDAY  工作日填充
               FillConstants.DRAG_MONTH    月份填充
               FillConstants.DRAG_YEAR     年份填充
               FillConstants.DRAG_LINEAR   以等差序列填充
               FillConstants.DRAG_GROWTH   以等比序列填充

    例子：

         //用拖曳方式自动填充区域"C2:C8"填充类型为序列。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         worksheet.setCellValue(2, 3, 5);
         Range range = worksheet.getRange("C2");
         range.autoFill("C2:C8", FillConstants.DRAG_SERIES);

  另请参见：
    `FillConstants`

### autofit

    public void autofit()

  将列宽、行高设置为最佳。

  例子：

       //将当前活动单元格区域的列宽和行高设置为最佳。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getActiveRange();
       range.autofit();

### autoSum

    public void autoSum()

  对区域进行自动求和。

  例子：

       //对单元格区域"B3:E5"进行自动求和。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B3:E5");
       range.fillRandom();
       range.autoSum();

### clear

    public void clear()

  清除所选区域中单元格的全部特性，如格式、内容、注释等。

  例子：

       //清除"B1:D3"区域中单元格的全部特性。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B1:D3");
       range.clear();

  另请参见：
    `clearFormats()`, `clearComments()`, `clearContents()`

### clearComments

    public void clearComments()

  清除所选区域中单元格的注释。

  例子：

       //清除"B1:D3"区域中单元格中的注释。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B1:D3");
       range.clearComments();

  另请参见：
    `clear()`, `clearContents()`, `clearFormats()`

### clearContents

    public void clearContents()

  清除所选区域中单元格的内容。

  例子：

       //清除"B1:D3"区域中单元格的内容。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B1:D3");
       range.clearContents();

  另请参见：
    `clear()`, `clearComments()`, `clearFormats()`

### clearFormats

    public void clearFormats()

  清除所选区域中单元格的格式。

  例子：

       //清除"B1:D3"区域中单元格的格式。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B1:D3");
       range.clearFormats();

  另请参见：
    `clear()`, `clearComments()`, `clearContents()`

### clearOutline

    public void clearOutline()

  清除分级显示。

  例子：

       //此例对单元格区域"B3:E12"清除分级显示。
       Worksheet ws = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       Range range = ws.getRange("B3:E12");
       range.clearOutline();

  另请参见：
    `outline()`, `setOutline(boolean, boolean)`

### consolidate

    public void consolidate(java.lang.String[] rangeAddress,
                            int function,
                            boolean isRow,
                            boolean isColumn,
                            boolean createLink)

  合并计算单元格数据。

  参数：
    `rangeAddress` - 需要合并计算的源区域，为一数组
    `function` - 合并计算时的汇总函数，为整型数值

               SUM           求和
               COUNT         计数
               AVERAGE       平均值
               MAX           最大值
               MIN           最小值
               PRODUCT       乘积
               COUNT_NUMS    计数值
               STD_DEV       标准偏差
               STD_DEVP      总体标准偏差
               VAR           方差
               VARP          总体方差

    `isRow` - 布尔型，如为true，按行标志合并计算；否则，不按行标志合并计算
    `isColumn` - 布尔型，如为true，按列标志合并计算；否则，不按列标志合并计算
    `createLink` - 布尔型，如为true，创建连至数据源的链接，即数据源改变时，自动更新合并计算区域中的数据

    例子：

         //合并计算单元格区域"C3:D8"数据，汇总函数为求和，不按行标志合并计算，按列标志合并计算，不创建连至数据源的链接。
         Worksheet sheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         String[] items = {"a", "b", "c", "a", "b", "c"};
         sheet.setCellValue(3, 3, items, false);
         Range range = sheet.getRange("D3:D8");
         range.fillRandom();
         range = sheet.getRange("F3");
         range.consolidate(new String[] {"$C$3:$D$8"}, ConsolidateConstants.SUM, false, true, false);

  另请参见：
    `ConsolidateConstants`

### copy

    public void copy()

  复制所选的单元格区域。

  例子：

       //此例复制所选的"B9:D15"单元格区域。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B9:D15");
       range.fillRandom();
       range.copy();

### customAutoFilter

    public int[] customAutoFilter(int index,
                                  int operator,
                                  int criteriaType1,
                                  java.lang.String criteria1,
                                  int criteriaType2,
                                  java.lang.String criteria2)

  设置自定义自动筛选方式(前置条件：已做自动筛选)。

  参数：
    `index` - 自动筛选区域中的第几个(注意：索引从1开始)
    `operator` - 自动筛选的筛选条件和筛选项：

               OP_NULL             自动筛选条件为空
               OP_AND              运算符为“与”
               OP_OR               运算符为“或”
               OP_B10_ITEMS        自动筛选最小10项
               OP_B10_PERCENTS     显示占整个列表百分比的最小项
               OP_T10_ITEMS        自动筛选最大10项
               OP_T10_PERCENTS     显示占整个列表百分比的最大项
               OP_ALL              显示所有项
               OP_BLANK            显示空白单元格
               OP_NOT_BLANK        显示非空单元格
               OP_EQUALS           显示所选中的值

    `criteria1` - 第一个比较的值
    `criteriaType1` - 与第一个值比较的操作符类型：

               COMP_EQUALS             等于
               COMP_NOT_EQUALS         不等于
               COMP_GREATER_THAN       大于
               COMP_GREATER_OR_EQUALS  大于等于
               COMP_LESS_THAN          小于
               COMP_LESS_OR_EQUALS     小于等于
               COMP_STARTS_WITH        起始于
               COMP_NOT_STARTS_WITH    非起始于
               COMP_ENDS_WITH          结束于
               COMP_NOT_ENDS_WITH      非结束于
               COMP_INCLUDE            包含
               COMP_NOT_INCLUDE        不包含

    `criteria2` - 第二个比较的值
    `criteriaType2` - 与第二个值比较的类型，与criteriaType1相同
  返回：
    返回筛选出来的数据行

    例子：

         //为当前活动区域设置自定义自动筛选方式。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getActiveRange();
         range.customAutoFilter(1, FilterConstants.OP_AND, FilterConstants.COMP_GREATER_THAN,
                               "0.3", FilterConstants.COMP_LESS_THAN, "0.6");

  抛出：
    `MacroRunException` - 当参数的数值越界
  另请参见：
    `FilterConstants`

### cut

    public void cut()

  剪切所选的单元格区域。

  例子：

       //此例剪切所选的"B9:D15"单元格区域。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B9:D15");
       range.fillRandom();
       range.cut();

### fillRandom

    public void fillRandom()

  以随机数填充所选区域的单元格。

  例子：

       //此例以随机数填充单元格区域"A1:G4"。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("A1:G4");
       range.fillRandom();

### fillSeries

    public void fillSeries(boolean columnRow,
                           int type,
                           int unit,
                           double step,
                           double stop,
                           boolean trend)

  用序列或日期填充选中单元格区域。

  所有常量的定义在 applicatoin.constants.FillConstants 中。

  参数：
    `columnRow` - 设置填充方向，为布尔型，如为true，表示填充序列到列；否则，填充序列到行。相应的常量如下：

             SERIES_COLUMNS    填充序列到列
             SERIES_ROWS       填充序列到行

    `type` - 设置填充类型，相应的常量如下：

             SERIES_LINEAR    填充等差序列
             SERIES_GROWTH    填充等比序列
             SERIES_DATE      填充日期
             SERIES_AUTOFILL  自动填充

    `unit` - 设置填充类型为日期时的日期单位，相应的常量如下：

             SERIES_DAY       日期单位为天数
             SERIES_WEEKDAY   日期单位为工作日
             SERIES_MONTH     日期单位为月
             SERIES_YEAR      日期单位为年

    `step` - 设置填充的步长值，为double型数值
    `stop` - 设置填充的终止值，为double型数值
    `trend` - 设置填充的趋势，为布尔型值，如为true，表示以趋势填充；否则，不以趋势填充。相应的常量如下：

             SERIES_TREND      以趋势填充
             SERIES_NOT_TREND  不以趋势填充

    例子：

         //用日期填充选中单元格区域，填充序列到列，日期单位为天数，步长为1.0，终止值为10.0，不以趋势填充。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         worksheet.select("C1");
         ActiveCell.setValue("1900-1-1");
         worksheet.select("C2");
         ActiveCell.setValue("1900-1-2");
         Range range = worksheet.getRange("C1:C15");
         range.fillSeries(FillConstants.SERIES_COLUMNS,
                                FillConstants.SERIES_DATE,
                                FillConstants.SERIES_DAY,
                                1.0,
                                10.0,
                                FillConstants.SERIES_NOT_TREND);

  另请参见：
    `FillConstants`

### filterByColor

    public int[] filterByColor(int index,
                               int type,
                               int colorIndex)

  按颜色筛选。

  参数：
    `index` - 自动筛选区域中的第几列(索引从1开始)
    `type` - 设置填充类型，相应的常量如下： FILTER_FILLCOLOR 0表示填充色 FILTER_FONTCOLOR 1表示字体颜色
    `colorIndex` - 填充色或字体颜色索引(索引从1开始)
  返回：
    筛选出来的数据行

    例子：

         //本示例对单元格区域"A2:E12"进行按背景色进行筛选，背景色的索引为2。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                               .getWorksheets().getActiveWorksheet();
         worksheet.select("A2:E12");
         ActiveRange.fillRandom(0.0, 1.0, 2);
         String[] title = new String[]{"AA", "BB", "CC", "DD", "EE"};
         worksheet.setCellValue(1, 1, title, true);
         Range range = worksheet.getRange("A1:E12");
         range.setAutoFilter();
         ActiveWorksheet.select("A2:A4");
         FillAttribute fill = new FillAttribute();
         fill.setTexture(255, 0, 0);
         ActiveRange.setFillAttribute(fill);
         ActiveWorksheet.select("A5:A8");
         fill = new FillAttribute();
         fill.setTexture(51, 153, 102);
         ActiveRange.setFillAttribute(fill);
         ActiveWorksheet.select("A9:A12");
         fill = new FillAttribute();
         fill.setTexture(0, 0, 255);
         ActiveRange.setFillAttribute(fill);
         worksheet.select("A2:A5");
         ActiveRange.setForeground(new java.awt.Color(255, 255, 0));
         worksheet.select("A6:A9");
         ActiveRange.setForeground(new java.awt.Color(51, 51, 51));
         worksheet.select("A10:A12");
         ActiveRange.setForeground(new java.awt.Color(255, 255, 153));
         ActiveRange.customAutoFilter(1, FilterConstants.OP_NO_OPR, FilterConstants.COMP_EQUALS,
                                                                "", FilterConstants.COMP_NO, "");
         range.filterByColor(1, 0, 2);

  抛出：
    `MacroRunException` - 当参数的数值越界
  另请参见：
    `FilterConstants`

### find

    public Cell[] find(java.lang.String text)

  查找。

  参数：
    `text` - 查找内容
  返回：
    所有找到的单元格

    例子：

         //查找B4:E12区域单元格内容为0.24的单元格，并在控制台输出其个数。
         Worksheet sheet = Application.getWorkbooks().getActiveWorkbook().getWorksheets().getActiveWorksheet();
         Range range = sheet.getRange("B4:E12");
         range.fillRandom();
         Cell[] finds = range.find("0.24");
         System.out.println("There are " + finds.length + " 0.24");

### getAddress

    public java.lang.String getAddress()

  获取当前单元格区域的地址。

  返回：
    当前单元格区域的地址

    例子：

         //在控制台输出单元格区域"B3:E5"的地址。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         String address = range.getAddress();
         System.out.println(address);

### getBackground

    public FillAttribute getBackground()

  获得单元格区域的填充属性。

  返回：
    填充属性

    例子：

         //获得当前单元格区域的填充属性。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getActiveRange();
         FillAttribute fa = range.getFillAttribute();

### getBorderAttribute

    public application.workbooks.workbook.style.border.SsBorderAttribute getBorderAttribute()

  获得单元格区域的边框属性。

  返回：
    边框属性

    例子：

         //获得当前单元格区域的边框属性。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         BorderAttribute border =  worksheet.getActiveRange().getBorderAttribute();

### getCells

    public Cell[] getCells()

  获得单元格区域所有的单元格。

  返回：
    所有的单元格

    例子：

         //获得单元格区域"A1:G4"所有的单元格。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         Cell[] cells = range.getCells();

### getColumns

    public Columns getColumns()

  返回当前选中区域的列对象。

  返回：
    指定列对象

    例子：

         //返回单元格区域"B3:E5"的列对象。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         Columns columns = range.getColumns();

### getEndColumn

    public int getEndColumn()

  获取结束列列号。

  返回：
    列号

    例子：

         //在控制台上输出单元格区域"B3:E5"所在的结束列列号。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         int endColumn = range.getEndColumn();
         System.out.println("endColumn is " + endColumn);

  另请参见：
    `getStartColumn()`

### getEndRow

    public int getEndRow()

  获取单元格区域结束行行号。

  返回：
    单元格区域结束行行号，为整型数值

    例子：

         //在控制台上输出单元格区域"B3:E5"所在的结束行行号。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         int endRow = range.getEndRow();
         System.out.println("endRow is "+endRow);

  另请参见：
    `getStartRow()`

### getFontAttribute

    public FontAttribute getFontAttribute()

  获得单元格区域的字体属性。

  返回：
    字体属性

    例子：

         //获得当前单元格区域的字体属性。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getActiveRange();
         FontAttribute font = range.getFontAttribute();

### getFormatCellAttribute

    public FormatCellAttribute getFormatCellAttribute()

  获得单元格区域的单元格属性。

  返回：
    单元格格式属性

    例子：

         //获得当前单元格区域的单元格格式属性。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getActiveRange();
         FormatCellAttribute fca = range.getFormatCellAttribute();

### getHeight

    public int getHeight()

  返回单元格区域的高度，单位为象素

  返回：
    单元格区域的高度

    例子：

         //此例在控制台以象素为单位输出"B9:D15"单元格区域的高度。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B9:D15");
         System.out.println("Height is " + range.getHeight());

### getRows

    public Rows getRows()

  返回当前选中区域的行对象

  返回：
    指定行对象

    例子：

         //返回单元格区域"B3:E5"的行对象。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         Rows rows = range.getRows();

### getStartColumn

    public int getStartColumn()

  获取单元格区域起始列列号。

  返回：
    单元格区域起始列列号，为整型数值

    例子：

         //在控制台上输出单元格区域"B3:E5"所在的起始列列号。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         int startColumn = range.getStartColumn();
         System.out.println("startColumn is " + startColumn);

  另请参见：
    `getEndColumn()`

### getStartRow

    public int getStartRow()

  获取单元格区域起始行行号。

  返回：
    单元格区域起始行行号，为整型数值

    例子：

         //在控制台上输出单元格区域"B3:E5"所在的起始行号。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         int startRow = range.getStartRow();
         System.out.println("startRow is "+startRow);

  另请参见：
    `getEndRow()`

### getWidth

    public int getWidth()

  返回单元格区域的宽度，单位为象素

  返回：
    单元格区域的宽度

    例子：

         //此例在控制台以象素为单位输出"B9:D15"单元格区域的宽度。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B9:D15");
         System.out.println("Width is " + range.getHeight());

### getWorksheet

    public Worksheet getWorksheet()

  返回所属的工作表对象。

  返回：
    工作表对象

    例子：

         //此例返回单元格区域"B2:D3"所属的工作表对象。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B2:D3");
         Worksheet parent = range.getWorksheet();

### goalSeek

    public void goalSeek(double targetValue,
                         java.lang.String changeAddress)

  单变量求解。

  参数：
    `targetValue` - 目标值，为double型
    `changeAddress` - 可变单元格地址

    例子：

         //对单元格"B6"进行单变量求解，使"B3:B8"单元格的平均值为100。
         Worksheet ws = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
         String[] heading = {"语文", "数学", "英文", "物理"};
         long[][] data = {
                 {102, 135, 97, 115},
                 {103, 117, 128, 127},
                 {89, 141, 111, 108},
                 {67, 131, 89, 101},
                 {113, 105, 134, 97},
                 {109, 123, 104, 85}
                         };
         String[] items = {"姓名", "但是", "伟大", "许多法", "地方", "风格", "酷热", "团体平均分"};
         ws.setCellValue(1, 1, "某中学高考得分抽样分析");
         Range range = ws.getRange(1, 1, 1, 5);
         range.merge(true);
         FontAttribute font = new FontAttribute();
         font.setForeground(Color.green);
         range.setFontAttribute(font);
         ws.setCellValue(2, 1, items, false);
         ws.setCellValue(2, 2, heading, true);
         ws.setCellValue(3, 2, data, true);
         range = ws.getRange("B9");
         range.setValue("=average(B3:B8)");
         range.goalSeek(100, "B6");

### group

    public void group(boolean isRow)

  组合区域。

  参数：
    `isRow` - 布尔型值，true，组合行；false，组合列

    例子：

         //对区域"B3:E15"的行进行组合。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E15");
         range.group(true);

  另请参见：
    `ungroup(boolean)`

### hideDetail

    public void hideDetail()

  隐藏明细数据。

  例子：

       //对单元格区域"B2:E10"隐藏明细数据。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("b2:e10");
       range.fillRandom();
       range.group(true);
       range.hideDetail();

  另请参见：
    `showDetail()`

### insertEntireColumn

    public void insertEntireColumn()

  插入整列。

  例子：

       //在单元格区域"B3:D5"位置插入整列，活动单元格右移。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B3:D5");
       range.insertEntireColumn();

### insertEntireRow

    public void insertEntireRow()

  插入整行。

  例子：

       //在"B3:D5"位置插入整行，活动单元格下移。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B3:D5");
       range.insertEntireRow();

### isProtected

    public boolean isProtected()

  单元格区域是否被保护。

  返回：
    单元格区域是否被保护,TRUE表示已被保护;FALSE表示没有被保护

    例子：

         //在控制台输出单元格区域"A1:B6"是否设置为保护。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:B6");
         boolean protected = range.isProtected();
         System.out.println("protected:" + protected);

### merge

    public void merge()

  合并单元格。

  例子：

       //将单元格区域"B3:E5"合并单元格。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B3:E5");
       range.merge();

  另请参见：
    `mergeAcross()`, `unmerge()`

### mergeAcross

    public void mergeAcross()

  按选取单元格区域的行合并单元格(只合并行不合并列)。

  例子：

       //将单元格区域"B3:E5"合并，只合并行，不合并列。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B3:E5");
       range.mergeAcross();

### mergeColumns

    public void mergeColumns(char delimiter,
                             int row,
                             int column,
                             java.lang.String fileName)

  将多列文本加上分隔符合并为一列，并可存到文本文件中。

  参数：
    `delimiter` - 分隔符
    `row` - 当前活动表中的行号，-1表示不在本工作表
    `column` - 当前活动表中的列号，-1表示不在本工作表
    `fileName` - 带路径的文本文件名称，""表示不生成文本文件

    例子：

         //将单元格区域"C3:E4"的内容合并为一列，放在起始单元格为"G3"的单元格序列中，并不生成文本文件。
         Worksheet sheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         String[][] items = {{"a", "b", "c"},{"x", "y", "z"}};
         sheet.setCellValue(3, 3, items, true);
         Range range = sheet.getRange("C3:E4");
         range.mergeColumns(' ', 3, 7, "");

  抛出：
    `MacroRunException` - 当给定的单元格地址错误或越界

### offset

    public Range offset(int rows,
                        int columns)

  与当前的单元格区域偏移指定的行列数后的单元格区域。

  参数：
    `rows` - 偏移行数
    `columns` - 偏移列数
  返回：
    range 返回偏移后的单元格区域

    例子：

         //返回与单元格区域"A2:B3"偏移一行一列的单元格区域。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A2:B3");
         Range tempRange = range.offset(1, 1);

### outline

    public void outline()

  自动建立分级显示。

  例子：

       //自动建立分级显示,位于明细数据左上侧。
       Worksheet ws = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       String[] heading = {"AA", "BB", "CC", "DD"};
       String[] items = {"Apple", "Banana", "Oringe", "Apple", "Apple", "Banana", "Oringe", "Apple", "Banana", "Oringe"};
       ws.setCellValue(2, 2, heading, true);
       ws.setCellValue(3, 1, items, false);
       Range range = ws.getRange("B3:E12");
       range.fillRandom();

       SortProperties sortProperties = new SortProperties();
       sortProperties.setSortKey1(1);
       sortProperties.setOrder1(true);
       sortProperties.setSortKey2(4);
       sortProperties.setOrder2(true);
       sortProperties.setRowHeader(true);
       range = ws.getRange("A2:E12");
       range.sort(sortProperties);
       int[] item = {-1, 1, -1, 3, -1};
       range.subtotal(0, ConsolidateConstants.SUM, item, true, false, true, "A15");
       range.clearGroup();
       range.setOutline(false,false);
       range.outline();
       range.clearOutline();

  另请参见：
    `clearOutline()`, `setOutline(boolean, boolean)`

### paste

    public void paste()

  把复制在粘贴板中的数据粘贴到指定位置。

  例子：

       //此例把复制在粘贴板中的"B9:D15"单元格区域中的数据粘贴至以"C4"开始的相应的单元格区域。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B9:D15");
       range.fillRandom();
       range.copy();
       range = worksheet.getRange("C4")
       range.paste();

### paste

    public void paste(boolean withFormat)

  是否带格式粘贴。

  参数：
    `withFormat` - 布尔型值，TRUE表示带格式，FALSE表示不带格式

    例子：

         Application.gotoProduct(GlobalConstants.WORDPROCESSOR);
         WpSelection.copy();
         Application.gotoProduct(GlobalConstants.SPREADSHEET);
         ActiveWorksheet.select("H19");
         ActiveRange.paste(true);

### pasteAsHyperlink

    public void pasteAsHyperlink()

  作为超链接粘贴链接在粘贴板上的数据。

  例子：

       //将单元格区域"B9:D15"中的数据以超链接的形式粘贴至以"C4"开始的相应的单元格区域。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B9:D15");
       range.fillRandom();
       range.copy();
       range = worksheet.getRange("C4");
       range.pasteAsHyperlink();

### pasteLink

    public void pasteLink()

  将工作表中的源数据复制后以链接的形式粘贴(当源数据改变时粘贴区域的数据也会随之相应改变)。

  例子：

       //将单元格区域"B9:D15"中的数据粘贴至以"C4"开始的相应单元格区域。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B9:D15");
       range.fillRandom();
       range.copy();
       range = worksheet.getRange("C4")；
       range.pasteLink();

### pasteLink

    public void pasteLink(boolean withFormat)

  是否带格式粘贴链接。

  参数：
    `withFormat` - 布尔型值，TRUE表示带格式，FALSE表示不带格式

    例子：

         //将文字处理中的选定区域以带格式的形式粘贴到工作表的"A5"单元格区域。
         Application.gotoProduct(GlobalConstants.WORDPROCESSOR);
         WpSelection.copy();
         Application.gotoProduct(GlobalConstants.SPREADSHEET);
         Range range = ActiveWorksheet.select("A5");
         range.pasteLink(true);

### pasteSpecial

    public void pasteSpecial(int pasteFlag,
                             int operationFlag,
                             boolean skipFlag,
                             boolean transposeFlag)

  选择性粘贴。

  参数：
    `pasteFlag` - 粘贴的类型，在application.constants.PasteSpecialConstants有相应的常数：

               SS_PASTE_ALL            粘贴全部
               SS_PASTE_FORMULA        粘贴公式
               SS_PASTE_VALUE          粘贴数值
               SS_PASTE_FORMAT         粘贴格式
               SS_PASTE_COMMENTS       粘贴注释
               SS_PASTE_VALIDATION     粘贴有效性
               SS_PASTE_XBORDER        粘贴所有但是不包括边框
               SS_PASTE_COLWIDTH       粘贴列宽
               SS_PASTE_VALUEANDFORMAT 粘贴数值和格式

    `operationFlag` - 操作的类型，在application.constants.PasteSpecialConstants有相应的常数：

               SS_OP_NONE         无操作
               SS_OP_ADD          相加操作
               SS_OP_SUBSTRACT    相减操作
               SS_OP_MULTIPLY     相乘操作
               SS_OP_DIVIDE       相除操作

    `skipFlag` - 布尔型值，如为true，表示忽略源区域中的空白单元格；否则，不忽略源区域中的空白单元格。在application.constants.PasteSpecialConstants有相应的常数：

               SS_SKIPBLANK       忽略源区域中的空白单元格；
               SS_NOT_SKIPBLANK   不忽略源区域中的空白单元格

    `transposeFlag` - 布尔型值，如为true，表示行列转置；否则，不行列转置。在application.constants.PasteSpecialConstants有相应的常数：

               SS_TRANSPOSE       行列转置；
               SS_NOT_TRANSPOSE   不行列转置

    例子：

         //此例以"B4"为起始位置对单元格区域"B9:D15"进行选择性粘贴，粘贴类型为粘贴数值，操作的类型为无操作，不忽略源区域中的空白单元格，不行列转置。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B9:D15");
         range.fillRandom();
         range.copy();
         range = worksheet.getRange("B4");
         range.pasteSpecial(PasteSpecialConstants.SS_PASTE_VALUE, PasteSpecialConstants.SS_OP_NONE, PasteSpecialConstants.SS_NOT_SKIPBLANK, PasteSpecialConstants.SS_NOT_TRANSPOSE);

  抛出：
    `MacroRunException` - 当给定参数的数值错误或越界

### protect

    public void protect(int type,
                        java.lang.String password)

  对单元格或单元格区域进行保护，并设置保护类型。

  参数：
    `type` - 保护类型，其值为如下常量:

               ProtectConstants.LOCKED  锁定单元格
               ProtectConstants.HIDDEN  隐藏公式

    `password` - 密码

    例子：

         //对单元格区域"B3:E5"进行保护，保护方式为锁定单元格，密码为aa。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         range.protect(ProtectConstants.LOCKED, "aa");

  另请参见：
    `ProtectConstants`

### removeDuplicatedItems

    public void removeDuplicatedItems(int[] items,
                                      boolean hasTitle,
                                      boolean blank,
                                      boolean output)

  删除重复项。

  参数：
    `items` - 重复项的列,列是在单元格区域中的列，列号从1开始
    `hasTitle` - 是否有标题项
    `blank` - 空格单元格是否作为重复项
    `output` - 是否导出重复项 true 仅仅导出重复项; false 在单元区域中删除

    例子：

          //删除"A1:E4"中的重复项.
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:E4");
         range.setValue("dong");
         range.removeDuplicatedItems(new int[]{1,2,3,4,5}, false, false,false);

### removeSubtotal

    public void removeSubtotal()

  删除分类汇总。

  例子：

       //删除当前单元格区域的分类汇总。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getActiveRange();
       range.removeSubtotal();

### replaceAllWith

    public void replaceAllWith(java.lang.String findWhat,
                               java.lang.String replaceWith)

  缺省全部替换。

  参数：
    `findWhat` - 查找内容
    `replaceWith` - 替换内容

    例子：

         //将单元格区域"A1:G4"中内容为123的单元格内容全部替换为321。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         range.setValue("123");
         range.replaceAllWith("123","321");

### select

    public void select()

  选取单元格区域。

  例子：

       //选取单元格区域"A1:B3"。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("A1:B3");
       range.select();

### setAlternateBackground

    public void setAlternateBackground(FillAttribute fa)

  设置交替背景。

  参数：
    `fa` - 填充属性

    例子：

         //将单元格区域"B3:E5"的填充属性的颜色设置为(255, 204, 153)。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         FillAttribute fill = new FillAttribute();
         fill.setTexture(255, 204,  153);
         range.setAlternateBackground(fill);

### setAutoFilter

    public void setAutoFilter()

  给当前的单元格区域设置自动筛选或清除自动筛选。

  例子：

       //对当前的单元格区域设置自动筛选或清除自动筛选。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getActiveRange();
       range.setAutoFilter();

### setAutoFormat

    public void setAutoFormat(int index)

  设置缺省的自动套用格式。

  参数：
    `index` - 预设格式的索引值（从0开始,到16为止）

    例子：

         //设置单元格区域"B3:E5"的自动套用格式为索引值为1的简易格式。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         range.setAutoFormat(1);

### setAutoFormat

    public void setAutoFormat(int index,
                              boolean number,
                              boolean font,
                              boolean alignment,
                              boolean border,
                              boolean pattern,
                              boolean widthHight)

  设置自动套用格式。

  参数：
    `index` - 预设格式的索引值（从0开始,到16为止）
    `number` - 布尔型，如为true，自动套用时应用数值格式：否则，不应用数值格式
    `font` - 布尔型，如为true，自动套用时应用字体格式：否则，不应用字体格式
    `alignment` - 布尔型，如为true，自动套用时应用对齐格式：否则，不应用对齐格式
    `border` - 布尔型，如为true，自动套用时应用边框格式：否则，不应用边框格式
    `pattern` - 布尔型，如为true，自动套用时应用图案格式：否则，不套用图案格式
    `widthHight` - 布尔型，如为true，自动套用时应用宽度/高度格式：否则，不应用宽度/高度格式

    例子：

         //设置单元格区域"B3:E5"的自动套用格式索引值为3的“经典 2”格式，自动套用时用数值格式，不应用字体格式，不应用能者为师格式，应用边框，图案格式，不应用宽度/高度格式。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         range.setAutoFormat(3,true,false,false,true,true,false);

### setBorderAttribute

    public void setBorderAttribute(BorderAttribute ba)

  设置边框属性。

  参数：
    `ba` - 边框属性

    例子：

         //设置单元格区域"B3:E5"的边框属性。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         BorderAttribute border = new BorderAttribute();
         border.setApplyType(BorderAndShadingConstants.APPLY_CELL);
         border.setBorderType(BorderAndShadingConstants.BORDERTYPE_CUSTOM);
         border.setBorderLineType(BorderAndShadingConstants.DIAGONAL_FORWARD, 0);
         border.setBorderLineWidth(BorderAndShadingConstants.DIAGONAL_FORWARD, 0.5f);
         border.setBorderLineType(BorderAndShadingConstants.DIAGONAL_BACKWARD, 0);
         border.setBorderLineWidth(BorderAndShadingConstants.DIAGONAL_BACKWARD, 0.5f);
         range.setBorderAttribute(border);

### setConditionalFormatting

    public void setConditionalFormatting(ConditionalFormatting cf)

  设置条件格式。

  参数：
    `cf` - 条件格式

    例子：

         //设置单元格区域"B6:E11"的条件格式。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B6:E11");
         range.fillRandom(0.0, 1.0, 2);
         ConditionalFormatting conditionalFormatting = new ConditionalFormatting();
         ConditionalFormattingData formattingData = new ConditionalFormattingData();
         formattingData.setWhatIndex(ConditionConstants.VALUE_IS);
         formattingData.setHowIndex(ConditionConstants.BETWEEN);
         formattingData.setFormula1("0.3");
         formattingData.setFormula2("0.5");
         formattingData.setBackground(new Color(51,153,102));
         conditionalFormatting.add(formattingData);
         range.setConditionalFormatting(conditionalFormatting);

### setFillAttribute

    public void setFillAttribute(FillAttribute fa)

  设置填充属性。

  参数：
    `fa` - 填充属性

    例子：

         //将单元格区域"B3:E5"的填充属性的颜色设置为(255, 204, 153)。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         FillAttribute fill = new FillAttribute();
         fill.setTexture(255, 204,  153);
         range.setFillAttribute(fill);

### setFontAttribute

    public void setFontAttribute(FontAttribute fa)

  设置字体属性。

  参数：
    `fa` - 字体属性

    例子：

         //将单元格区域"B3:E5"的字体设置为黑体，前景色设置为(255,0,0)，并设置删除线。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         FontAttribute font = new FontAttribute();
         font.setBold(true);
         font.setForeground(255, 0, 0);
         font.setStrikeThrough(true);
         range.setFontAttribute(font);

### setFormatCellAttribute

    public void setFormatCellAttribute(FormatCellAttribute attr)

  设置单元格格式。

  参数：
    `attr` - 单元格格式

    例子：

         //将单元格区域"B3:E5"中的单元格格式设置为水平居中对齐。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         FormatCellAttribute fcAttribute = new FormatCellAttribute();
         fcAttribute.setHorizontalIndex(CellFormatConstants.HOR_MIDDLE);
         range.setFormatCellAttribute(fcAttribute);

### setFormulaArray

    public void setFormulaArray(java.lang.String value)

  设置数组公式。

  参数：
    `value` - 填充的数组公式

    例子：

         //将"C1:C6"单元格区域的数值设置为"A1:B6"单元格区域数值的和。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:B6");
         range.fillRandom();
         range = worksheet.getRange("c1:C6");
         range.setFormulaArray("=sum(A1:B6)");

### setName

    public void setName(java.lang.String name)

  设置单元格区域的名称。

  参数：
    `name` - 名称

    例子：

         //设置单元格区域"A1:G4"的名称为"qqq"。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         range.setName("qqq");

### setOutline

    public void setOutline(boolean isRowSelected,
                           boolean isColumnSelected)

  分级设置。

  参数：
    `isRowSelected` - 布尔型值，true，位于明细数据下方；false，位于明细数据上方
    `isColumnSelected` - 布尔型值，true，位于明细数据右侧；false，位于明细数据左侧

    例子：

         //对单元格区域"B3:E12"自动建立分级显示，位于明细数据左上侧。
         Worksheet ws = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         String[] heading = {"AA", "BB", "CC", "DD"};
         String[] items = {"Apple", "Banana", "Oringe", "Apple", "Apple", "Banana", "Oringe", "Apple", "Banana", "Oringe"};
         ws.setCellValue(2, 2, heading, true);
         ws.setCellValue(3, 1, items, false);
         Range range = ws.getRange("B3:E12");
         range.fillRandom();

         SortProperties sortProperties = new SortProperties();
         sortProperties.setSortKey1(1);
         sortProperties.setOrder1(true);
         sortProperties.setSortKey2(4);
         sortProperties.setOrder2(true);
         sortProperties.setRowHeader(true);
         range = ws.getRange("A2:E12");
         range.sort(sortProperties);
         int[] item = {-1, 1, -1, 3, -1};
         range.subtotal(0, ConsolidateConstants.SUM, item, true, false, true, "A15");
         range.clearGroup();
         range.outline();
         range.setOutline(false, false);

  另请参见：
    `outline()`, `clearOutline()`

### setValidation

    public void setValidation(ValidationProperties validationProperties)

  校验数据的有效性。

  参数：
    `validationProperties` - 校验数据的有效性信息

    例子：

         //对单元格区域"B3:E5"校验数据的有效性。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         ValidationProperties validation = new ValidationProperties();
         validation.setType(DataValidationConstants.TYPE_DEC);
         validation.setOperator(DataValidationConstants.OPR_BETWEEN);
         validation.setFirstParameter("0.3");
         validation.setSecondParameter("0.6");
         validation.setIgnoreBlank(true);
         validation.setDropDown(true);
         validation.setShowInput(true);
         validation.setInputTitle("");
         validation.setInputMessage("");
         validation.setShowError(true);
         validation.setAlertStyle(DataValidationConstants.ALERT_STOP);
         validation.setErrorTitle("ERRER");
         validation.setErrorMessage("EEEEEEE");
         range.setValidation(validation);

### setValue

    public void setValue(boolean value)

  用布尔型数据设置所选单元格区域的内容。

  参数：
    `value` - 待填充的布尔型数据

    例子：

         //将单元格区域"A1:G4"的内容设置为布尔型数据true。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         range.setValue(true);

  抛出：
    `MacroRunException` - 当单元格区域已被保护

### setValue

    public void setValue(double value)

  用双精度型数据设置所选单元格区域的内容。

  参数：
    `value` - 待填充的双精度型数据

    例子：

         //将单元格区域"A1:G4"的内容设置为双精度型数据3.141592653。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         range.setValue(3.141592653);

  抛出：
    `MacroRunException` - 当单元格区域已被保护

### setValue

    public void setValue(long value)

  用长整型数据设置所选单元格区域的内容。

  参数：
    `value` - 待填充的长整型数据

    例子：

         //将单元格区域"A1:G4"的内容设置为长整型数据12345。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         range.setValue(12345L);

  抛出：
    `MacroRunException` - 当单元格区域已被保护

### setValue

    public void setValue(java.lang.String value)

  用字符串类型的数据设置所选单元格区域的内容。

  参数：
    `value` - 待填充的字符串类型的数据

    例子：

         //将单元格区域"A1:G4"的内容设置为"abc"。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("A1:G4");
         range.setValue("abc");

  抛出：
    `MacroRunException` - 当单元格区域已被保护

### showDetail

    public void showDetail()

  显示明细数据。

  例子：

       //对单元格区域"B2:E10"显示隐藏的明细数据。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B2:E10");
       range.fillRandom();
       range.group(true);
       range.hedeDetail();
       range = worksheet.getRange("B2:E10");
       range.showDetail();

  另请参见：
    `hideDetail()`

### sort

    public void sort(SortProperties sortProperties)

  对所选单元格区域中的数据进行排序。

  参数：
    `sortProperties` - 排序属性

    例子：

         //对单元格区域"B3:E16"设置排序属性。
         Worksheet sheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = sheet.getRange("B4:E16");
         range.fillRandom();
         String[] heading = {"aa", "bb", "cc", "dd"};
         sheet.setCellValue(3, 2, heading, true);
         range = sheet.getRange("B3:E16");
         SortProperties sortProperties = new SortProperties();
         sortProperties.setSortKey1(1);
         sortProperties.setOrder1(true);
         sortProperties.setRowHeader(true);
         range.sort(sortProperties);

  另请参见：
    `SortProperties`

### subtotal

    public void subtotal(int fieldIndex,
                         int styleIndex,
                         int[] item,
                         boolean change,
                         boolean pageBreak,
                         boolean result,
                         java.lang.String aimAddress)

  设置分类汇总。

  参数：
    `fieldIndex` - 字段索引，由0开始
    `styleIndex` - 汇总方式，取值范围0~10

               SUM           求和
               COUNT         计数
               AVERAGE       平均值
               MAX           最大值
               MIN           最小值
               PRODUCT       乘积
               COUNT_NUMS    计数值
               STD_DEV       标准偏差
               STD_DEVP      总体标准偏差
               VAR           方差
               VARP          总体方差

    `item` - 汇总项，所有参与汇总字段的索引
    `change` - true，替换当前分类汇总；false，不替换
    `pageBreak` - true，每组数据分页；false，不分页
    `result` - true，汇总结果显示在数据下方；false，直接显示
    `aimAddress` - 汇总结果显示的单元格地址

    例子：

         //对单元格区域"B3:E12"设置分类汇总。
         Worksheet ws = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         String[] heading = {"AA", "BB", "CC", "DD"};
         String[] items = {"Apple", "Banana", "Oringe", "Apple", "Apple", "Banana", "Oringe", "Apple", "Banana", "Oringe"};
         ws.setCellValue(2, 2, heading, true);
         ws.setCellValue(3, 1, items, false);
         Range range = ws.getRange("B3:E12");
         range.fillRandom();

         SortProperties sortProperties = new SortProperties();
         sortProperties.setSortKey1(1);
         sortProperties.setOrder1(true);
         sortProperties.setSortKey2(4);
         sortProperties.setOrder2(true);
         sortProperties.setRowHeader(true);
         range = ws.getRange("A2:E12");
         range.sort(sortProperties);

         int[] item = {-1, 1, -1, 3, -1};
         range.subtotal(0, ConsolidateConstants.SUM, item, true, false, true, "A15");

  抛出：
    `MacroRunException` - 当参数的数值越界
    `MacroRunException` - 当汇总结果显示的单元格地址与本单元格区域交叉或包含
  另请参见：
    `ConsolidateConstants`

### textSplitting

    public void textSplitting(TextSplittingProperties textSplitting)

  给选定的单元格或单元格区域（列区域）设置文本分列。

  参数：
    `textSplitting` - 文本分列设置属性

    例子：

         //为单元格区域"G3:G4"设置文本分列。
         Worksheet sheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         sheet.setCellValue(3, 7, "a b c");
         sheet.setCellValue(4, 7, "x y z");
         Range range = sheet.getRange("G3:G4");
         TextSplittingProperties textSplitting = new TextSplittingProperties();
         textSplitting.setSplittingType(TextSplittingConstants.DELIMITED);
         textSplitting.setTab(true);
         textSplitting.setSpace(true);
         textSplitting.setSemicolon(false);
         textSplitting.setComma(false);
         textSplitting.setOther(false);
         textSplitting.setOtherDelimiters(' ');
         textSplitting.setDimilitersAsOne(false);
         textSplitting.setTextQualifier(TextSplittingConstants.QUALIFIER_DOUBLE_QUOTES);
         textSplitting.setDecimalSeparator(TextSplittingConstants.SEPARATOR_POINT);
         textSplitting.setThousandsSeparator(TextSplittingConstants.SEPARATOR_COMMA);
         textSplitting.setDataFormat(new int[]{0, 0, 0});
         textSplitting.setCell(7, 3);
         range.textSplitting(textSplitting);

### ungroup

    public void ungroup(boolean isRow)

  取消组合。

  参数：
    `isRow` - true，取消行组合；false，取消列组合

    例子：

         //对区域"B3:E15"取消行组合。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E15");
         range.ungroup(true);

  另请参见：
    `group(boolean)`

### unmerge

    public void unmerge()

  清除选取单元格区域里存在的合并单元格。

  例子：

       //清除单元格区域"B3:E5"中存在的合并单元格。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B3:E5");
       range.unmerge();

### unprotect

    public boolean unprotect(java.lang.String password)

  解除单元格或单元格区域的保护。

  参数：
    `password` - 密码

    例子：

         //解除对单元格区域"B3:E5"的保护。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.getRange("B3:E5");
         range.unprotect("aa");

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

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

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