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;