帮帮手
解决方案 »
- ◆◆【散分】祝 白雪公猪 生日快乐◆◆
- 如何判断鼠标是否经过窗体,想实现如QQ一样的窗体自动隐藏效果,当鼠标不在窗体上时自动隐藏窗体
- 感谢hazehua29的帮助
- 关于FASTREPORT动态制作报表时的货币表示问题
- 关于子窗体的一个小问题,在线。
- 我的Delphi7,在启动时启动界面中会有Unregistered字样,但能用,请问怎么注册?
- 把一个普通的程序改成了一个服务程序
- 规范化的问题
- winio模拟键盘输入打开dephi的IDE时速度很快,关闭时则变慢
- 为什么用CreateOLEObject()后,系统会提示CreateOLEObject()没有定义?
- delphi中一个主窗口打开一个子窗口后,如何实现鼠标只能选中子窗口,而不能选中主窗口作为当前窗口
- 除了Decision Cube外,大家还有没有用过其它数据决策分析组件啊?
Flist:FFieldList;StartLine:integer=2):boolean;
var
msexcel:variant;
i,j,ct,RowIndex,RowCount,maxCount,fieldCount:integer;
Aindex:array of integer;
AField:array of String;
test,finalID,SameItem,Item_id:string;
OPD:TOpenDialog;
begin
result:=false;
if (filename='') or (not FileExists(filename)) then
begin
try
OPD:=TOpenDialog.Create(nil);
opd.Filter:='Excel文件|*.xls|所有文件|*.*';
opd.DefaultExt:='*.xls';
if OPD.Execute then
filename:=OPD.FileName
else
filename:='';
finally
opd.Free;
end;
end;
if filename<>'' then
begin
RowIndex:=StartLine;
setlength(Aindex,0);
setlength(AField,0);
setlength(Aindex,length(Flist));
setlength(AField,length(Flist));
for i:=0 to length(Flist)-1 do
begin
Afield[i]:=Flist[i][0];
Aindex[i]:=strtoint(Flist[i][1]);
end;
try
begin
msexcel:=createoleobject('excel.application');
msexcel.workbooks.open(FileName);
MSExcel.Visible:=False;
maxCount:=MSExcel.ActiveSheet.UsedRange.Rows.Count+1-RowIndex;
for i:=RowIndex to MSExcel.ActiveSheet.UsedRange.Rows.Count do
begin
with destination do
begin
insert;
for j:=0 to Length(Aindex)-1 do
begin
test:= MSExcel.Cells[i,Aindex[j]].Value;
Fieldvalues[AField[j]] :=test;
end;
end;
end;
MSExcel.ActiveWorkBook.Close;
MSExcel.Quit;
Result:=true;
end
except
Result:=false;;
end;
end;
end;
这是把excel里的数据读去到数据集合中。