Application 对象

Application 代表整个 Excel 应用程序。类名:"Excel.Application"。

属性 意义
Workbooks 当前打开的文档集合 Workbooks 对象,包含多个 Workbook 对象
Workbooks(1) 取得第一个 Workbook 对象
Activeworkbook 当前活动文档
Activesheet 当前活动工作表
ActiveCell 当前活动单元格
Selection 当前活动的单元格
ActiveWindow 当前窗口,属性 ScrollRow,ScrollColumn 表示左上角单元格

Workbooks 对象

类名:"Excel.Sheet"。

属性 意义
Count 打开的工作簿的数量
Item(n) 属性 Workbooks 对象集合,可用数字下标或文件名下标取得文档对象
Add([Template]) 新建一工作表并返回 Workbook 对象,参数为作为模板的文档文件
Open(...) 打开工作表
Close() 关闭所有文档
OpenText(FileName,[other]) 打开一个文本文件并转换格式为含单个表的文档

Workbook 对象

ActiveWorkbook 当前活动文档

属性 意义
Close([Save][,File]) 关闭文档,Save:是否保存,File:文件名
Activate() 激活此文档成为活动文档
Save() 保存文档
SaveAs(Filename,[other]) 文档另存为
SaveCopyAs(Filename) 将文档复制一份
Name 文件名
Worksheets 包含当前工作簿的工作表集合 Worksheets 对象
Worksheets(1) 取得第一个 Worksheet 对象

Worksheets 对象

属性 意义
count 工作表数量
Item(n) 属性 包含 WorkSheet 对象的集合,可用数字下标或表名下标取工作表
Add(Before,After,Count,Type) 新建工作表,Before/After为工作表,指新建
Delete() 删除所有工作表
Move([before] , [after]) 移动所有工作表到另一工作表之前或之后
Select() 选中所有工作表

Worksheet 对象

属性 意义
Copy([before] ,[after]) 复制工作表到另一工作表之前或之后
Move([before] ,[after]) 移动工作表到另一工作表之前或之后
PrintOut(...) 打印工作表,参数
PrintPreview() 打印预览
Select(replace) 选中工作表,选项为是否仅选中该工作表,默认为 TRUE
Activate() 激活工作表成为活动表
Range 代表工作表中所有单元格的 Range 对象 ,默认属性是 Item
UsedRange 代表工作表中含所有内容的最小矩形区域 Range 对象
Cells 返回所有单元格,Cells 对象
Cells(row, col) 返回单元格范围 Range 对象
Columns 返回一列, Columns 对象
Rows 返回一行,Rows 对象
PageSetup 页面设置 PageSetup 对象

PrintOut 参数

属性 意义
From 开始页
To 结束页
Copies 份数
Preview 是否预览
ActivePrinter 打印机
PrintToFile 是否输出到文件
Collate 是否分页
PrToFileName 输入文件名

示例:

<?php
  $excel = new COM("excel.application");
  try {
    $book = $excel->Workbooks->Add();
    $sheet = $book->WorkSheets(1);
    $r=1; $c=1;
    for($R=1;$r<10;$r++)
    {
      for($c=1;$c<10;$c++)
      {   
        $sheet->Cells($r,$c)->Value = $r+$c;
      }
    }
    $excel->Selection->AutoFilter();
    $book->SaveAs('c:\\xxx.xls');
  } catch (Exception $e) {
    echo 'Caught exception: ', $e->getMessage(), "\n<BR>";
  }
  $excel->DisplayAlerts = False;
  $excel->Quit();
  unset($ex);
?>