Giúp nối chuỗi theo nhiều điều kiện

Liên hệ QC

nhuanhthai

Thành viên mới
Tham gia
23/9/16
Bài viết
2
Được thích
0
Hiện em có 1 file excel như này cần nối chuỗi với rất nhiều điều kiện tham khảo rất nhiều trang nhưng vẫn chưa làm triệt để được
Kính mong các cao thủ vào giúp đỡ.
Em cảm ơn
 

File đính kèm

Bạn có thể tham khảo tool viết bằng delphi XE6 như file đính kèm,
Dùng thư viện: XLSSpreadSheet
Code:
procedure TForm2.Button1Click(Sender: TObject);
var
c,r,r1,l:Integer;
Loaitokhai,Mau,Ky,songaynopquahan,_sFileName:string;
begin
XLSSpreadSheet1.Clear;
if OpenDialog1.Execute then
begin
_sFileName:=OpenDialog1.FileName;
end
else Exit;
XLSSpreadSheet1.Filename := _sFileName;
XLSSpreadSheet1.Read;
Application.ProcessMessages;
c:=0;
r:=1;
_sFileName:='';
while r<=XLSSpreadSheet1.XLS.Sheets[0].LastRow do
begin
c:=0;
Loaitokhai:=XLSSpreadSheet1.XLS.Sheets[0].AsString[4,r];
Mau:=XLSSpreadSheet1.XLS.Sheets[0].AsString[5,r];
Ky:=XLSSpreadSheet1.XLS.Sheets[0].AsString[6,r];
songaynopquahan:=XLSSpreadSheet1.XLS.Sheets[0].AsString[9,r];
if (Loaitokhai<>'')and(Mau<>'')and(Ky<>'')and(songaynopquahan<>'') then
begin
_sFileName:=_sFileName+' Tờ khai '+Loaitokhai+' (Mẫu '+Mau+') kỳ '+Ky+' chậm '+songaynopquahan+' ngày, ';
for r1 := r+1 to XLSSpreadSheet1.XLS.Sheets[0].LastRow do
begin
if (Loaitokhai=XLSSpreadSheet1.XLS.Sheets[0].AsString[4,r1]) then
begin
Ky:=XLSSpreadSheet1.XLS.Sheets[0].AsString[6,r1];
songaynopquahan:=XLSSpreadSheet1.XLS.Sheets[0].AsString[9,r1];
_sFileName:=_sFileName+' kỳ '+Ky+' chậm '+songaynopquahan+'ngày, ';
end
else if Loaitokhai<>XLSSpreadSheet1.XLS.Sheets[0].AsString[4,r1] then
begin
r:=r1-1;
Break;
end;
end;
end;
Inc(r);
end;
Memo1.Lines.Add(_sFileName);
XLSSpreadSheet1.InvalidateSheet;
Application.ProcessMessages;
end;
 

File đính kèm

Upvote 0
Cám ơn bác nhé
Bài đã được tự động gộp:

Bác cho em hỏi thêm nếu có nhiều công ty cùng 1 sheet làm thế nào để nối cho từng công ty
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom