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

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

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

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

    public class ActiveRange

extends java.lang.Object

该类定义了当前单元格区域进行操作的一些方法，如为单元格区域设值，复制和粘贴单元格区域，在单元格区域内查找或替换数据，填充数据，筛选数据，设置文本字体，数值格式和合并计算数据等。

构造函数摘要
`ActiveRange()`

方法摘要
`static void` | `activate(java.lang.String cellAddress)` 设置当前单元格区域的活动单元格。
`static void` | `allocate(double amount, double multiple, java.lang.String[] cellAddress, double[] fixupValue)` 将分配总数按照分配比例及条件进行分配。
`static void` | `analyzeTable(java.lang.String rowAddress, java.lang.String columnAddress)` 创建一假设分析表。
`static void` | `autoFill(java.lang.String rangeAddress, int type)` 用拖曳方式自动填充。
`static void` | `autoSum()` 对当前活动单元格区域进行自动求和。
`static void` | `clear()` 清除当前区域中单元格的全部特性，如格式、内容、注释等。
`static void` | `clearComments()` 清除当前区域中单元格的注释。
`static void` | `clearContents()` 清除当前区域中单元格的内容。
`static void` | `clearFormats()` 清除当前区域中单元格的格式。
`static void` | `clearOutline()` 清除分级显示。
`static void` | `consolidate(java.lang.String[] rangeAddress, int function, boolean isRow, boolean isColumn, boolean createLink)` 合并计算单元格数据。
`static void` | `copy()` 复制当前单元格区域。
`static void` | `customAutoFilter(int index, int operator, int criteriaType1, java.lang.String criteria1, int criteriaType2, java.lang.String criteria2)` 设置自定义自动筛选方式(前置条件：已做自动筛选)。
`static void` | `cut()` 剪切当前单元格区域。
`static void` | `fillRandom()` 以随机数填充当前活动单元格区域。
`static void` | `fillSeries(boolean columnRow, int type, int unit, double step, double stop, boolean trend)` 用序列或日期填充选中单元格区域。
`static void` | `group(boolean isRow)` 组合区域。
`static void` | `hideDetail()` 隐藏明细数据。
`static void` | `insertEntireColumn()` 插入整列。
`static void` | `insertEntireRow()` 插入整行。
`static void` | `mergeAcross()` 按当前区域的行合并单元格(只合并行不合并列)。
`static void` | `mergeColumns(char delimiter, int row, int column, java.lang.String filename)` 将多列文本加上分隔符合并为一列，并可存到文本文件中。
`static void` | `outline()` 自动建立分级显示。
`static void` | `paste()` 把复制在粘贴板中的数据粘贴到当前活动单元格区域。
`static void` | `paste(boolean withFormat)` 带格式粘贴。
`static void` | `pasteAsHyperlink()` 作为超链接粘贴链接在粘贴板中的数据。
`static void` | `pasteLink()` 将工作表中的源数据复制后以链接的形式粘贴(当源数据改变时粘贴区域的数据也会随之相应改变)。
`static void` | `pasteLink(boolean withFormat)` 带格式粘贴链接。
`static void` | `pasteSpecial(int pasteFlag, int operationFlag, boolean skipFlag, boolean transposeFlag)` 选择性粘贴。
`static void` | `protect(int type, java.lang.String password)` 对当前单元格或单元格区域进行保护，并设置保护类型。
`static void` | `removeSubtotal()` 删除分类汇总。
`static void` | `setAutoFilter()` 给当前的单元格区域设置自动筛选或清除自动筛选。
`static void` | `setAutoFormat(int index, boolean number, boolean font, boolean alignment, boolean border, boolean pattern, boolean widthHight)` 设置自动套用格式。
`static void` | `setBorderAttribute(BorderAttribute ba)` 设置边框。
`static void` | `setConditionalFormatting(ConditionalFormatting cf)` 设置条件格式。
`static void` | `setFillAttribute(FillAttribute fa)` 设置填充属性。
`static void` | `setFontAttribute(FontAttribute fa)` 设置字体属性。
`static void` | `setFormatCellAttribute(FormatCellAttribute attr)` 设置单元格属性。
`static void` | `setFormulaArray(java.lang.String value)` 设置数组公式。
`static void` | `setOutline(boolean isRowSelected, boolean isColumnSelected)` 分级设置。
`static void` | `setValidation(ValidationProperties validationProperties)` 校验数据的有效性。
`static void` | `setValue(java.lang.String value)` 用字符串类型的数据设置当前单元格区域的值。
`static void` | `showDetail()` 显示明细数据。
`static void` | `sort(SortProperties sortProperties)` 对当前活动单元格区域中的数据进行排序。
`static void` | `subtotal(int fieldIndex, int styleIndex, int[] item, boolean change, boolean pageBreak, boolean result, java.lang.String aimAddress)` 分类汇总
`static void` | `textSplitting(TextSplittingProperties textSplitting)` 给选定的单元格或单元格区域（列区域）设置文本分列。
`static void` | `ungroup(boolean isRow)` 取消组合。
`static void` | `unmerge()` 清除当前活动区域里存在的合并单元格。
`static void` | `unprotect(java.lang.String password)` 对当前单元格或单元格区域解除保护。

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

构造函数详细信息

### ActiveRange

    public ActiveRange()

方法详细信息

### activate

    public static void activate(java.lang.String cellAddress)

  设置当前单元格区域的活动单元格。

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

    例子：

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

### allocate

    public static 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)");
         ws.getRange("C3:C9").select();
         ActiveRange.allocate(5680,10,new String[]{"C7","C8"},new double[]{350,500});

### analyzeTable

    public static 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)");

         ws.getRange("C4:D8").select();
         ActiveRange.analyzeTable(null,"B8");

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

### autoFill

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

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

  参数：
    `rangeAddress` - 要填充的单元格，目标区域必须包括源区域。
    `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和C3两单元格的值为2和4，并以等比数列填充"C2:C8"单元格区域。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                   .getWorksheets().getActiveWorksheet();
         worksheet.setCellValue(2, 3, 2);
         worksheet.setCellValue(3, 3, 4);
         worksheet.getRange("C2:C3").select();
         ActiveRange.autoFill("C2:C8", FillConstants.DRAG_GROWTH);

### autoSum

    public static void autoSum()

  对当前活动单元格区域进行自动求和。

  例子：

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

### clear

    public static void clear()

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

  例子：

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

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

### clearComments

    public static void clearComments()

  清除当前区域中单元格的注释。

  例子：

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

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

### clearContents

    public static void clearContents()

  清除当前区域中单元格的内容。

  例子：

       //清除当前活动单元格区域"B1:D3"中的单元格的内容。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       worksheet.getRange("B1:D3").select();
       ActiveRange.clearContents();

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

### clearFormats

    public static void clearFormats()

  清除当前区域中单元格的格式。

  例子：

       //清除当前活动单元格区域"B1:D3"中单元格的格式。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       worksheet.getRange("B1:D3").select();
       ActiveRange.clearFormats();

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

### clearOutline

    public static void clearOutline()

  清除分级显示。

  例子：

       //对当前活动单元格区域清除分级显示。
       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");
       ActiveRange.clearOutline();

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

### consolidate

    public static 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();
         sheet.getRange("F3").select();
         ActiveRange.consolidate(new String[] {"$C$3:$D$8"}, ConsolidateConstants.SUM, false, true, false);

  另请参见：
    `ConsolidateConstants`

### copy

    public static void copy()

  复制当前单元格区域。

  例子：

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

### customAutoFilter

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

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

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

                     OPR_NO_OPR                  没有任何操作
               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           显示所选中的值

    `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        不包含

    `criteria1` - 第一个比较的值
    `criteriaType2` - 与第二个值比较的类型，与criteriaType1相同
    `criteria2` - 第二个比较的值

    例子：

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

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

### cut

    public static void cut()

  剪切当前单元格区域。

  例子：

       //剪切当前活动单元格区域"B9:D15"。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       worksheet.getRange("B9:D15").fillRandom();
       ActiveRange.cut();

### fillRandom

    public static void fillRandom()

  以随机数填充当前活动单元格区域。

  例子：

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

### fillSeries

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

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

  参数：
    `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` - 设置填充的步长值，为整型数值
    `stop` - 设置填充的终止值，为整型数值
    `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");
         worksheet.select("C1:C15");
         ActiveRange.fillSeries(FillConstants.SERIES_COLUMNS,
                                FillConstants.SERIES_DATE,
                                FillConstants.SERIES_DAY,
                                1.0,
                                10.0,
                                FillConstants.SERIES_NOT_TREND);

  另请参见：
    `FillConstants`

### group

    public static void group(boolean isRow)

  组合区域。

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

    例子：

         //对当前活动单元格区域"B3:E15"的行进行组合。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         worksheet.getRange("B3:E15").select();
         ActiveRange.group(true);

  另请参见：
    `ungroup(boolean)`

### hideDetail

    public static void hideDetail()

  隐藏明细数据。

  例子：

       //对当前活动单元格区域"B2:E10"隐藏明细数据。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       worksheet.getRange("B2:E10").fillRandom();
       ActiveRange.group(true);
       ActiveRange.hideDetail();

  另请参见：
    `showDetail()`

### insertEntireColumn

    public static void insertEntireColumn()

  插入整列。

  例子：

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

### insertEntireRow

    public static void insertEntireRow()

  插入整行。

  例子：

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

### mergeAcross

    public static void mergeAcross()

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

  例子：

       //合并当前活动单元格区域，只合并行，不合并列。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       ActiveRange.mergeAcross();

### mergeColumns

    public static 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);
         sheet.getRange("C3:E4").select();
         ActiveRange.mergeColumns(' ',3,7,"");

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

### outline

    public static 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);
       ActiveRange.outline();

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

### paste

    public static void paste()

  把复制在粘贴板中的数据粘贴到当前活动单元格区域。

  例子：

       //将单元格区域"B9：D15"中的内容复制到当前活动单元格区域"B17:D15"中。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B9:D15");
       range.fillRandom();
       range.copy();
       worksheet.getRange("B17:D23").select();
       ActiveRange.paste();

### paste

    public static void paste(boolean withFormat)

  带格式粘贴。

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

    例子：

         //复制文字处理中选中的区域并以带格式的方式粘贴到工作表的"H19"单元格区域。
         Application.gotoProduct(GlobalConstants.WORDPROCESSOR);
         WpSelection.copy();
         Application.gotoProduct(GlobalConstants.SPREADSHEET);
         ActiveWorksheet.select("H19");
         ActiveRange.paste(true);

### pasteAsHyperlink

    public static void pasteAsHyperlink()

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

  例子：

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

### pasteLink

    public static void pasteLink()

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

  例子：

       //将单元格区域"B9:D15"中的数据粘贴至当前活动单元格区域。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       Range range = worksheet.getRange("B9:D15");
       range.fillRandom();
       range.copy();
       worksheet.getRange("C4").select();
       ActiveRange.pasteLink();

  。

### pasteLink

    public static void pasteLink(boolean withFormat)

  带格式粘贴链接。

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

    例子：

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

### pasteSpecial

    public static 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    粘贴列宽

    `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   不行列转置

    例子：

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

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

### protect

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

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

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

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

    `password` - 密码

    例子：

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

  另请参见：
    `ProtectConstants`

### removeSubtotal

    public static void removeSubtotal()

  删除分类汇总。

  例子：

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

### setAutoFilter

    public static void setAutoFilter()

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

  例子：

       //对当前活动单元格区域设置自动筛选或清除自动筛选。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       worksheet.getRange("B4:F13").fillRandom();
       ActiveRange.setAutoFilter();

### setAutoFormat

    public static 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();
         worksheet.getRange("B3:E5").select();
         ActiveRange.setAutoFormat(3, true, false, false, true, true, false);

### setBorderAttribute

    public static void setBorderAttribute(BorderAttribute ba)

  设置边框。

  参数：
    `ba` - 边框属性

    例子：

         //设置当前活动单元格区域"B3:E5"的边框属性。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         worksheet.getRange("B3:E5").select();
         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);
         ActiveRange.setBorderAttribute(border);

### setConditionalFormatting

    public static void setConditionalFormatting(ConditionalFormatting cf)

  设置条件格式。

  参数：
    `cf` - 条件格式

    例子：

         //设置当前活动单元格区域"B6:E11"的条件格式。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         Range range = worksheet.select("B6:E11");
         ActiveRange.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(204, 255, 255));
         conditionalFormatting.add(formattingData);
         range.setConditionalFormatting(conditionalFormatting);

### setFillAttribute

    public static void setFillAttribute(FillAttribute fa)

  设置填充属性。

  参数：
    `fa` - 填充属性

    例子：

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

### setFontAttribute

    public static void setFontAttribute(FontAttribute fa)

  设置字体属性。

  参数：
    `fa` - 字体属性

    例子：

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

### setFormatCellAttribute

    public static void setFormatCellAttribute(FormatCellAttribute attr)

  设置单元格属性。

  参数：
    `attr` - 单元格属性

    例子：

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

### setFormulaArray

    public static void setFormulaArray(java.lang.String value)

  设置数组公式。

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

    例子：

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

### setOutline

    public static 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();
         ActiveRange.outline();
         ActiveRange.setOutline(false, false);

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

### setValidation

    public static 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.select();
         ActiveRange.setValidation(validation);

### setValue

    public static void setValue(java.lang.String value)

  用字符串类型的数据设置当前单元格区域的值。

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

    例子：

         //设置当前活动单元格区域的内容为"evermore"。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         worksheet.getRange("A1:D4").select();
         ActiveRange.setValue("evermore");

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

### showDetail

    public static void showDetail()

  显示明细数据。

  例子：

       //对当前活动单元格区域"B2:E10"显示隐藏的明细数据。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                       .getWorksheets().getActiveWorksheet();
       worksheet.getRange("B2:E10").fillRandom();
       ActiveRange.group(true);
       ActiveRange.hideDetail();
       worksheet.getRange("B2:E10").select();
       ActiveRange.showDetail();

  另请参见：
    `hideDetail()`

### sort

    public static void sort(SortProperties sortProperties)

  对当前活动单元格区域中的数据进行排序。

  参数：
    `sortProperties` - 排序属性

    例子：

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

  另请参见：
    `SortProperties`

### subtotal

    public static 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` - 汇总结果显示的单元格地址

    例子：

         //对当前活动单元格区域设置分类汇总。
         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);
         ws.getRange("A2:E12").select();
         ActiveRange.sort(sortProperties);

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

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

### textSplitting

    public static 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.select();
         ActiveRange.textSplitting(textSplitting);

### ungroup

    public static void ungroup(boolean isRow)

  取消组合。

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

    例子：

         //对当前活动单元格区域"B3:E15"取消行组合。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                          .getWorksheets().getActiveWorksheet();
         worksheet.getRange("B3:E15").select();
         ActiveRange.ungroup(true);

  另请参见：
    `group(boolean)`

### unmerge

    public static void unmerge()

  清除当前活动区域里存在的合并单元格。

  例子：

       //清除当前活动单元格区域中存在的合并单元格。
       Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                        .getWorksheets().getActiveWorksheet();
       ActiveRange.unmerge();

### unprotect

    public static void unprotect(java.lang.String password)

  对当前单元格或单元格区域解除保护。

  参数：
    `password` - 密码

    例子：

         //解除对当前活动单元格区域"B3:E5"的保护(假设单元格区域"B3:E5"已设置保护，保护密码为"aa")。
         Worksheet worksheet = Application.getWorkbooks().getActiveWorkbook()
                                         .getWorksheets().getActiveWorksheet();
         worksheet.getRange("B3:E5").select();
         ActiveRange.unprotect("aa");

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

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

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