C# 操作 Excel

来源:互联网 发布:手机淘宝店招怎么做 编辑:程序博客网 时间:2024/06/08 20:00

如果在你已知Excel格式的情况下,可以控制Excel,如下:


1、 显示当前窗口:ExcelApp.Visible := True;


2、 更改 Excel 标题栏:ExcelApp.Caption := '标题内容';


3、 添加新工作簿:ExcelApp.WorkBooks.Add;


4、 设置第2个工作表为活动工作表:ExcelApp.WorkSheets[2].Activate;


5、 给单元格赋值:ExcelApp.Cells[1,1].Value := '第一行第一列';


6、 设置指定列的宽度(单位:字符个数),以第一列为例:

ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;


7、 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米


8、文字水平居中:Excelid.worksheets[1].Rows[1].HorizontalAlignment := $FFFFEFF4;
  文字垂直居中:Excelid.worksheets[1].Rows[1].VerticalAlignment := $FFFFEFF4;


9、 插入一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Insert;

b. ExcelApp.ActiveSheet.Columns[1].Insert;


10、 删除一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Delete;
b. ExcelApp.ActiveSheet.Columns[1].Delete;  


11、合并单元格:ExcelApp.worksheets[1].range[A1:F8'].Merge(abc);注:要声明变量abc: Variant;


12、竖行显示文字:ExcelApp.worksheets[1].Cells.Item[1,1].Orientation:= xlVertical;


13、单元格加边线:ExcelApp.worksheets[1].Range[A1:F8].Borders.LineStyle := 1;


14、在第8行之前插入分页符:ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;


15、在第4列之前删除分页符:ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;


16、指定边框线宽度:ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
1-左    2-右   3-顶    4-底   5-斜( / )     6-斜( / )


17、拷贝操作:a.拷贝整个工作表:ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;
                 c.从A1位置开始粘贴:ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.从文件尾部开始粘贴:ExcelApplication1.ActiveSheet.Range.PasteSpecial;


18、清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[1,4].ClearContents;


19、工作表保存:if not ExcelApp.ActiveWorkBook.Saved then
               ExcelApp.ActiveSheet.PrintPreview;


20、工作表另存为:ExcelApp.SaveAs( 'C:/Excel/Demo1.xls' );


21、放弃存盘:ExcelApp.ActiveWorkBook.Saved := True;


22、关闭工作簿:ExcelApp.WorkBooks.Close;


23、退出 Excel:ExcelApp.Quit;

 


下面是有关打印页面控制的语句:

 

   24、设置第一行字体属性:ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书';
ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
ExcelApp.ActiveSheet.Rows[1].Font.size:=10;


25、进行页面设置:a.页眉:ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示';
b.页脚:ExcelApp.ActiveSheet.PageSetup.CenterFooter := '共&N页 第&P页';
                     c.页眉到顶端边距2cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
                     e.顶边距2cm:ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
                     g.左边距2cm:ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;
                     i.页面水平居中:ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
                     k.打印单元格网线:ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;


26、打印预览工作表:ExcelApp.ActiveSheet.PrintPreview;


27、打印输出工作表:ExcelApp.ActiveSheet.PrintOut;

 

 

对Excel的其他控制:


28、excel的多单元格合计功能:ExcelApp..Cells[ARow, ACol].Formula
:= '= SUM($+IntToStr(BeginRow) +:$ + IntToStr(EndRow) +');
注:声明变量ARow, ACol: Integer;


29、打开已经存在的Excel文件: ExcelApplication1.Workbooks.Open (c:/a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
   EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);