Browse Source

导入台账(平面结构)至项目节,第七层为空时,无法导入Bug

MaiXinRong 9 years ago
parent
commit
831ad25dc7
1 changed files with 17 additions and 11 deletions
  1. 17 11
      Units/DetailExcelImport.pas

+ 17 - 11
Units/DetailExcelImport.pas

@@ -531,20 +531,26 @@ var
   iEndRow: Integer;
   iEndRow: Integer;
 begin
 begin
   sName := Trim(GetCellValue(AXlsFile, FCurRow, FXmjLevel7Col));
   sName := Trim(GetCellValue(AXlsFile, FCurRow, FXmjLevel7Col));
-  if sName = '' then Exit;
-
-  vXmj := FCacheTree.FindXmjChild(AParent, '', sName);
-  if not Assigned(vXmj) then
+  if sName <> '' then
   begin
   begin
-    vXmj := FCacheTree.AddNode(AParent);
-    vXmj.Name := sName;
-  end;
+    vXmj := FCacheTree.FindXmjChild(AParent, '', sName);
+    if not Assigned(vXmj) then
+    begin
+      vXmj := FCacheTree.AddNode(AParent);
+      vXmj.Name := sName;
+    end;
 
 
-  with AXlsFile.CellMergedBounds[FCurRow, FXmjLevel7Col] do
-    iEndRow := FCurRow + Bottom - Top;
+    with AXlsFile.CellMergedBounds[FCurRow, FXmjLevel7Col] do
+      iEndRow := FCurRow + Bottom - Top;
 
 
-  while FCurRow <= iEndRow do
-    LoadBillsNode(AXlsFile, vXmj);
+    while FCurRow <= iEndRow do
+      LoadBillsNode(AXlsFile, vXmj);
+  end
+  else
+  begin
+    while FCurRow <= iEndRow do
+      LoadBillsNode(AXlsFile, AParent);  
+  end;
 end;
 end;
 
 
 procedure TPlaneFxBillsExcelImport.WriteNodes(ADataSet: TsdDataSet);
 procedure TPlaneFxBillsExcelImport.WriteNodes(ADataSet: TsdDataSet);