procedure TForm_OSR01040.ImportClick(Sender: TObject);
var
filename : string;
i,ExcelRowCount:integer;
ExcelApp,WorkBook:variant;
begin
if Opendialog1.Execute = true then
begin
filename:=Opendialog1.FileName;
{ sheetname:=copy(filename,pos('/',filename)+1,length(filename));
while pos('/',sheetname)>0 do
sheetname:=copy(sheetname,pos('/',sheetname)+1,length(sheetname));
sheetname:=copy(sheetname,1,pos('.',sheetname)-1);
} end
else
exit;
try
ExcelApp := CreateOleObject('Excel.Application');
WorkBook := ExcelApp.WorkBooks.Open(filename);
ExcelApp.Visible := false;
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
for i := 2 to excelrowcount do
begin
ClientDataSet_OSR01040.open;
{ if ((excelapp.Cells[i,1].Value = '') and (ExcelApp.Cells[i,2].Value = null)
and (ExcelApp.Cells[i,3].Value = null)and (ExcelApp.Cells[i,4].Value = null)
and (ExcelApp.Cells[i,5].Value = null)) then
exit
else
begin }
ClientDataSet_OSR01040.Append;
ClientDataSet_OSR01040.FieldByName('MatlID').asstring:=excelapp.Cells[i,1].Value;
ClientDataSet_OSR01040.FieldByName('UomBase').asstring:=excelapp.Cells[i,2].Value;
ClientDataSet_OSR01040.FieldByName('LayerName').asstring:=excelapp.Cells[i,3].Value;
ClientDataSet_OSR01040.FieldByName('UomArea').asfloat:=excelapp.Cells[i,4].Value;
ClientDataSet_OSR01040.FieldByName('Uomweight').asfloat:=excelapp.Cells[i,5].Value;
ClientDataSet_OSR01040.FieldByName('BigPiece').asfloat:=excelapp.Cells[i,6].Value;
// end;
end;
finally
WorkBook.Close;
ExcelApp.Quit;
ExcelApp := Unassigned;
WorkBook := Unassigned;
end;
end;
procedure TForm_OSR01040.ExcelExecute(Sender: TObject);
begin
if (ClientDataSet_OSR01040.Active) and (not ClientDataSet_OSR01040.IsEmpty) then
begin
SaveDialog1.FileName:=self.Caption ;
TransferToExcel(DBGrid1,SaveDialog1);
end;
end;
var
filename : string;
i,ExcelRowCount:integer;
ExcelApp,WorkBook:variant;
begin
if Opendialog1.Execute = true then
begin
filename:=Opendialog1.FileName;
{ sheetname:=copy(filename,pos('/',filename)+1,length(filename));
while pos('/',sheetname)>0 do
sheetname:=copy(sheetname,pos('/',sheetname)+1,length(sheetname));
sheetname:=copy(sheetname,1,pos('.',sheetname)-1);
} end
else
exit;
try
ExcelApp := CreateOleObject('Excel.Application');
WorkBook := ExcelApp.WorkBooks.Open(filename);
ExcelApp.Visible := false;
ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
for i := 2 to excelrowcount do
begin
ClientDataSet_OSR01040.open;
{ if ((excelapp.Cells[i,1].Value = '') and (ExcelApp.Cells[i,2].Value = null)
and (ExcelApp.Cells[i,3].Value = null)and (ExcelApp.Cells[i,4].Value = null)
and (ExcelApp.Cells[i,5].Value = null)) then
exit
else
begin }
ClientDataSet_OSR01040.Append;
ClientDataSet_OSR01040.FieldByName('MatlID').asstring:=excelapp.Cells[i,1].Value;
ClientDataSet_OSR01040.FieldByName('UomBase').asstring:=excelapp.Cells[i,2].Value;
ClientDataSet_OSR01040.FieldByName('LayerName').asstring:=excelapp.Cells[i,3].Value;
ClientDataSet_OSR01040.FieldByName('UomArea').asfloat:=excelapp.Cells[i,4].Value;
ClientDataSet_OSR01040.FieldByName('Uomweight').asfloat:=excelapp.Cells[i,5].Value;
ClientDataSet_OSR01040.FieldByName('BigPiece').asfloat:=excelapp.Cells[i,6].Value;
// end;
end;
finally
WorkBook.Close;
ExcelApp.Quit;
ExcelApp := Unassigned;
WorkBook := Unassigned;
end;
end;
procedure TForm_OSR01040.ExcelExecute(Sender: TObject);
begin
if (ClientDataSet_OSR01040.Active) and (not ClientDataSet_OSR01040.IsEmpty) then
begin
SaveDialog1.FileName:=self.Caption ;
TransferToExcel(DBGrid1,SaveDialog1);
end;
end;