Chinaunix首页 | 论坛 | 博客
  • 博客访问: 71568
  • 博文数量: 20
  • 博客积分: 2126
  • 博客等级: 大尉
  • 技术积分: 345
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-17 15:51
文章分类

全部博文(20)

文章存档

2013年(1)

2012年(3)

2011年(2)

2010年(6)

2009年(7)

2008年(1)

我的朋友

分类:

2010-07-28 18:42:45

  Officepartner(简称OP)是一套开源的控件,可以方便地操作 Office 文档,对Word、Excel的创建,修改等相当便利。
  由于网上介绍的资料不多,故在这里记录一下常用的对Excel的操作,以作参考.
  示例是以WebBrowser打开一个Excel文件,再对其作编辑。
 
 
 

uses OpXLXP;

var
  WorkBook: _Workbook;
  WorkSheet: _Worksheet;

//打开 Excel
WebBrowser.Navigate(ExcelFileName);
Workbook := IDispatch(WebBrowser.Document) as _Workbook;
WorkSheet := CurrXLS.Worksheets.Item[1] as _WorkSheet;
//对单元格赋值
WorkSheet.Cells.Item[1, 1].Value := 'A';
//合并单元格
WorkSheet.Range[WorkSheet.Cells.Item[1, 1], WorkSheet.Cells.Item[2, 2]].Merge(False);
//插入行
WorkSheet.Cells.Item[1, 1].EntireRow.Insert(xlDown);
//插入列
WorkSheet.Cells.Item[1, 1].EntireColumn.Insert(xlRight);
//EntireRow, EntireColumn 就是那单元格所在的行、列的意思

//页眉
WorkSheet.PageSetup.LeftHeader := '这里是左页眉';
//画框线
with WorkSheet.Range[WorkSheet.Cells.Item[1, 1], WorkSheet.Cells.Item[2, 2]] do
begin
  Borders[xlDiagonalDown].LineStyle := xlNone;
  Borders[xlDiagonalUp].LineStyle := xlNone;
  Borders[xlEdgeLeft].Weight := xlMedium;
  Borders[xlEdgeTop].Weight := xlMedium;
  Borders[xlEdgeBottom].Weight := xlMedium;
  Borders[xlEdgeRight].Weight := xlMedium;
  Borders[xlInsideVertical].Weight := xlMedium;
  Borders[xlInsideHorizontal].Weight := xlMedium;
end;

//单元格背景色(50代表绿色)

WorkSheet.Range[WorkSheet.Cells.Item[1, 1], WorkSheet.Cells.Item[2, 2]].Interior.ColorIndex := 50;
//保存
Workbook.Save(0);
//关闭
Workbook.Close(False, ExcelFileName, EmptyParam, 0);

//打印

Workbook._PrintOut(EmptyParam, EmptyParam, 1, false, EmptyParam, False, False, 0);


 
注:除了用 Excel 程序打开文档外,其它方式如用WebBrowser、DSOFramer等,都只能打印,不能打印预览。
若有不懂的时候,可以通过录制宏,参考其产生的VBA代码。
阅读(629) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~