2,498
社区成员
发帖
与我相关
我的任务
分享
for Row := 6 to XLS.Sheets[0].LastRow-1 do
begin
First:=Row;
if (XLS.Sheets[0].AsString[0,First]<>'') and (XLS.Sheets[0].AsString[1,First]<>'') and
(XLS.Sheets[0].AsString[1,First]<>'') and (XLS.Sheets[0].AsString[17,First]='0') then // 正票
begin
if First=(XLS.Sheets[0].LastRow-1)
then begin
Last:=First;
end
else begin
if (XLS.Sheets[0].AsString[0,First+1]<>'') and (XLS.Sheets[0].AsString[1,First+1]<>'') and
(XLS.Sheets[0].AsString[1,First+1]<>'') and (XLS.Sheets[0].AsString[17,First+1]='0')
then begin
Last:=First;
end
else begin
Last:=First;
repeat
Last:=Last+1;
until (XLS.Sheets[0].AsString[9,Last]='小计') or (Last>=XLS.Sheets[0].LastRow-1);
end;
end;
A[Top,0]:=XLS.Sheets[0].AsString[6,First];
A[Top,1]:=XLS.Sheets[0].AsString[0,First];
A[Top,2]:=XLS.Sheets[0].AsString[1,First];
A[Top,3]:=XLS.Sheets[0].AsString[2,First];
A[Top,4]:=XLS.Sheets[0].AsString[9,Last]; // 小计
.....
Top:=Top+1;
end;
end;
XLS.Free;
DateTimetoString(ID1,'yyyyMMddnnss',Now);
for i:=0 to Top-1 do
begin
ID:=ID1+IntToStr(100+i);
with DBGridEh1.DataSource.DataSet do
begin
Append;
j:=Pos(' ',A[i,0]);
S:=Copy(A[i,0],1,J-1);
dDate:=StrToDate(S);
FieldByName('日期').asString:=FormatdateTime('yyyy-MM-dd',dDate);
FieldByName('发票代码').asString:=A[i,1];
FieldByName('发票号码').asString:=A[i,2];
FieldByName('受票人名称').asString:=A[i,3];
else FieldByName('收入方式').asString:='现金';
FieldByName('开票人').asString:=A[i,30];
FieldByName('项目1').asString:=A[i,6];
FieldByName('金额1').asString:=A[i,7];
FieldByName('项目2').asString:=A[i,8];
FieldByName('金额2').asString:=A[i,9];
FieldByName('ID').asString:=ID;
Post;
end;
end;