procedure excelImport;
var
Col, Row: integer;
i, j: integer;
begin
try
try
// dlgOpen.Filter := 'excel(*.xlsx)|*.xlsx|全部文件(*.*)|*.*';
dlgOpen1.Filter := 'XLSX图标|*.xlsx|XLS图标|*.xls';
dlgOpen1.DefaultExt := '*.xlsx|*.xls';
if dlgOpen1.Execute then
begin
XLSReadWriteII51.Filename := Trim(dlgOpen1.Filename);
XLSReadWriteII51.Read;
Col := XLSReadWriteII51.Sheets[0].LastCol;
Row := XLSReadWriteII51.Sheets[0].LastRow;
cds2.Open;
for i := 1 to Row do
begin
with cds2 do
begin
Append;
for j := 0 to Col do
begin
Fields.Fields[j].Value := XLSReadWriteII51.Sheets[0].AsFmtString[j, i];
end;
Post;
end;
end;
end;
except
on e: Exception do
begin
ShowMessage(e.Message);
end;
end;
finally
end;
end;
写excel
dlgSave1.Filter :='XLSX图标|*.xlsx|XLS图标|*.xls';
dlgSave1.DefaultExt := '*.xlsx|*.xls';
if dlgSave1.Execute then //SaveDialog1 是一个TSaveDialog 组件
begin
fileName:= dlgSave1.FileName;
XLSReadWriteII53.Clear;
XLSReadWriteII53.FileName :=fileName;
if cdsmz_bak.Active then
begin
for i := 0 to cdsmz_bak.FieldDefs.Count-1 do
XLSReadWriteII53.Sheets[0].AsString[i, 0] := cdsmz_bak.Fields.Fields[i].FieldName;
with cdsmz_bak do
begin
First;
while not Eof do
begin
for i:=0 to cdsmz_bak.FieldDefs.Count-1 do
begin
XLSReadWriteII53.Sheets[0].AsString[i,cdsmz_bak.RecNo]:= cdsmz_bak.Fields.Fields[i].AsString;
end;
Next;
end;
end;
XLSReadWriteII53.Sheets[0].Name:= '门诊';
XLSReadWriteII53.Sheets[0].AutoWidthCol(i); // 每列为自动宽度
end;
if cdszy_bak.Active then
begin
XLSReadWriteII53.Add;
for i := 0 to cdszy_bak.FieldDefs.Count-1 do
XLSReadWriteII53.Sheets[1].AsString[i, 0] := cdszy_bak.Fields.Fields[i].FieldName;
with cdszy_bak do
begin
First;
while not Eof do
begin
for i:=0 to cdszy_bak.FieldDefs.Count-1 do
begin
XLSReadWriteII53.Sheets[1].AsString[i,cdszy_bak.RecNo]:= cdszy_bak.Fields.Fields[i].AsString;
end;
Next;
end;
end;
XLSReadWriteII53.Sheets[1].Name:= '住院';
XLSReadWriteII53.Sheets[1].AutoWidthCol(i); // 每列为自动宽度
end;
XLSReadWriteII53.Write;
end;