楼主的代码应该这样修改:
procedure TMAINFORM.Button1Click(Sender: TObject);
var
lstr: String;
begin
if OpenDialog1.Execute then
begin
lstr := OpenDialog1.FileName;
ExcelToTable1.FileName := lStr;
ExcelFieldMapFunc.ShowFieldMapEditor(ExcelToTable1);
end;
end;
procedure TMAINFORM.Button2Click(Sender: TObject);
var
lstr, ErrStr: String;
begin
// if OpenDialog1.Execute then
// Edit1.Text :=SysUtils.ExtractFileName(opendialog1.FileName);
// Edit1.Text :=sysUtils.ExtractFileDir(opendialog1.FileName)+'\'+SysUtils.ExtractFileName(opendialog1.FileName);
// ExcelToTable1.FileName := Edit1.Text;
ExcelToTable1.Execute(lstr);
dsbMaster.DataSet.ApplyUpdates;
if ErrStr <> '' then
dialogs.ShowMessage(ErrStr);
end;
楼主是BUTTON1来选择,BUTTON2来执行。
其实可以在一个按钮上来做这样的事,代码如下:
procedure TMAINFORM.Button1Click(Sender: TObject);
var
lstr: String;
begin
if OpenDialog1.Execute then
begin
lstr := OpenDialog1.FileName;
ExcelToTable1.FileName := lStr;
ExcelFieldMapFunc.ShowFieldMapEditor(ExcelToTable1);
ExcelToTable1.Execute(lstr);
dsbMaster.DataSet.ApplyUpdates;
if ErrStr <> '' then
dialogs.ShowMessage(ErrStr);
end;
end;