Delphi操作Excel的技巧

 


 

  1.  procedure TForm1.Button1Click(Sender: TObject);
  2. var
  3. eclApp,WorkBook:Variant;
  4. //声明为OLE Automation 对象
  5. xlsFileName:string;
  6. begin
  7. xlsFileName:=ExtractFilePath(Application.ExeName)+'zzdm.xls';
  8. try
  9. //创建OLE对象Excel Application与 WorkBook
  10. eclApp:=CreateOleObject('Excel.Application');
  11. WorkBook:=CreateOleobject('Excel.Sheet');
  12. except
  13. ShowMessage('您的机器里未安装Microsoft Excel。');
  14. Exit;
  15. end;
  16. try
  17. {
  18. ShowMessage('下面演示:新建一个XLS文件,并写入数据,最后关闭它。');
  19. workBook:=eclApp.workBooks.Add;
  20. eclApp.Cells(1 , 1):='字符型';
  21. eclApp.Cells(2 , 1):='Excel文件';
  22. eclApp.Cells(1 , 2):='Money型';
  23. eclApp.Cells(2 , 2):=10.01;
  24. eclApp.Cells(1 , 3):='日期型';eclApp.Cells(2 , 3):=Date;
  25. WorkBook.saveas(xlsFileName);
  26. WorkBook.close;
  27. }
  28. ShowMessage('下面演示:打开刚创建的XLS文件,并修改其中的内容,然后,由用户决定是否保存。');
  29. WorkBook:=eclApp.workBooks.Open(xlsFileName);
  30. eclApp.Cells(2 , 2):='Excel文件类型';
  31. eclApp.Cells(3 , 18):='√';
  32. if MessageDlg(xlsFileName+'文件已被修改,是否保存?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
  33. WorkBook.save
  34. else
  35. workBook.Saved := True; //放弃修改
  36. WorkBook.Close;
  37. eclApp.Quit;
  38. //退出Excel Application
  39. //释放VARIANT变量
  40. eclApp:=Unassigned;
  41. except
  42. ShowMessage('不能正确操作Excel文件。可能是该文件已被其他程序打开,或系统错误。');
  43. WorkBook.close;
  44. eclApp.Quit;
  45. //释放VARIANT变量
  46. eclApp:=Unassigned;
  47. end;
  48. end;
  49. end.

将 Sheet1 中单元格 C5 的字体大小设置为 14 磅。
Worksheets("Sheet1").Cells(5, 3).Font.Size = 14

清除 Sheet1 上第一个单元格的公式。
Worksheets("Sheet1").Cells(1).ClearContents

将 Sheet1 上所有单元格的字体设置为 8 磅的"Arial"字体。
With Worksheets("Sheet1").Cells.Font
    .Name = "Arial"
    .Size = 8
End With

在 Sheet1 上的单元格区域 A1:J4 中循环,将其中小于 0.001 的值替换为 0(零)。

  1. For rwIndex = 1 to 4
  2.     For colIndex = 1 to 10
  3.         With Worksheets("Sheet1").Cells(rwIndex, colIndex)
  4.             If .value < .001 Then .value = 0
  5.         End With
  6.     Next colIndex
  7. Next rwIndex

将 Sheet1 上单元格区域 A1: C5 的字体样式设置为斜体。
Worksheets("Sheet1").Activate
Range(Cells(1, 1), Cells(5, 3)).Font.Italic = True

搜索列"myRange"中的数据。如果发现某单元格的值与上面的一个单元格的值相等,则本示例将显示这个包含重复数据的单元格的地址。

  1. Set r = Range("myRange")
  2. For n = 1 To r.Rows.Count
  3.     If r.Cells(n, 1) = r.Cells(n + 1, 1) Then
  4.         MsgBox "Duplicate data in " & r.Cells(n + 1, 1).Address
  5.     End If
  6. Next n

 
创建活动工作簿中自定义视图及其打印设置和行列设置列表。

 

  1. With Worksheets(1)
  2.     .Cells(1,1).value = "Name"
  3.     .Cells(1,2).value = "Print Settings"
  4.     .Cells(1,3).value = "RowColSettings"
  5.     rw = 0
  6.     For Each v In ActiveWorkbook.CustomViews
  7.         rw = rw + 1
  8.         .Cells(rw, 1).value = v.Name
  9.         .Cells(rw, 2).value = v.PrintSettings
  10.         .Cells(rw, 3).value = v.RowColSettings
  11.     Next
  12. End With

分别对 Sheet1 中的 A17 单元格、第一行和 C 列的数字格式进行设置。

  1. Worksheets("Sheet1").Range("A17").NumberFormat = "General"
  2. Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
  3. Worksheets("Sheet1").Columns("C"). _
  4.     NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值