delphi下excel的操作

1.首先引用comobj、varints单元

2.声明xlApp,xlBook, xlSheet,picture: Variant;

3.基本操作

xlApp:=CreateOleObject('Excel.Application'); 有异常才没有安装Excel。

xlBook := xlApp.workBooks.Open(sd1.FileName);//打开已经存在的excel文件

//xlBook := xlApp.WorkBooks.Add;//增加工作表

xlBook.WorkSheets[1].Activate;//激活工作表

xlBook.WorkSheets[1].Cells[1,1] := '姓名';//单元格赋值

xlBook.save;//保存工作表

//xlBook.SaveAs(directory_filname);//另保存工作表

xlBook.close;

xlApp.Quit;

xlApp:= UnAssigned;

4.其他常用操作

xlApp.caption:='应用程序调用 Microsoft Excel';//    

xlBook.worksheets[1].cells.NumberFormatLocal:='@';//设置工作表为文本方式

xlBook.worksheets[1].name:='sheet123';//工作表的名字   

xlBook.worksheets[1].rows[1].font.size:=fontsize;//设置行字体大小    

xlBook.worksheets[1].rows[1].font.bold:=true;  //加粗    

xlBook.worksheets[1].rows[1].interior.color:=clskyblue;  //填充色    

xlBook.worksheets[1].rows[1].rowheight:=35;//设置行高    

xlBook.worksheets[1].rows[1].WrapText:=True;//设置自动换行    

xlBook.worksheets[1].rows[1].HorizontalAlignment:=3;//设置一行的水平居中属性    

xlBook.worksheets[1].columns[1].ColumnWidth:=15;//设置一列的宽度

xlBook.worksheets[1].usedrange.rows.count //最大行数

xlBook.WorkSheets[1].Cells[1,1] := '姓名';

//合并单元格

xlapp.range[xlBook.workSheets[1].cells[2,1],xlBook.workSheets[1].cells[2,3]].merge;

//冻结窗口 冻结所激活的单元格左上方区域   

xlBook.worksheets[1].cells[10,10].activate;   

xlapp.activeWindow.FreezePanes:=true;

//边框  

xlBook.worksheets[1].range[xlBook.worksheets[1].cells[3,1],xlBook.worksheets[1].cells[5,1]].borders[m].linestyle:=1;//m的含义:1-左 2-右 3-顶 4-底 5-斜(  ) 6-斜( / )

xlBook.worksheets[1].range[xlBook.worksheets[1].cells[loldRowIdx,1],xlBook.worksheets[1].cells[lrowIdx -1,lDeepth]].borders.linestyle:=1;//range内所有单元格边框显示
xlBook.worksheets[1].range[xlBook.worksheets[1].cells[loldRowIdx,1],xlBook.worksheets[1].cells[lrowIdx -1,lDeepth]].borders[11].linestyle:=-4142; //去除range内部子单元格边框11:横线,12竖线,-4142代表清除 (神奇的东西,网上很难搜到。。)
xlBook.worksheets[1].range[xlBook.worksheets[1].cells[loldRowIdx,1],xlBook.worksheets[1].cells[lrowIdx -1,lDeepth]].borders[12].linestyle:=-4142;

//插入图片操作,前提是图片必须存在电脑中插入后也不可以删除;

picture := xlBook.WorkSheets[1].Pictures.Insert(headFname); //插入图片          

picture.left := xlBook.WorkSheets[1].Cells[idx,1].left + 1; //左          

picture.top := xlBook.WorkSheets[1].Cells[idx,1].top + 1; //高

picture.width := xlBook.WorkSheets[1].Cells[idx,1].width - 2; //宽度          

picture.height := xlBook.WorkSheets[1].Cells[idx,1].height - 2; //高度 

picture := UnAssigned;

//判断文件是否已经打开
function isFileInUse(fName : string ) : boolean;
var
HFileRes : Tfilestream;
begin
  Result := false;
  if not FileExists(fName) then
    exit;
  try
    hfileres:=Tfilestream.create(fname,fmShareExclusive);
    result:=false;
  except
    result:=true;
  end;
  try
    hfileres.Free;
  except
  end;
end;

原文地址:https://www.cnblogs.com/hejoy91/p/3526827.html