2017-03-14 1 views
-1

Ich bin mit VS 2013 C# und asp.net, einige Zeilen leer sind und diese Zeile Ich mag würdelöschen leere Zeile in Datentabelle C#

Siehe das Bild löschen Below

enter image description here

ich habe versucht, diesen Code aber funktionierte nicht, keine Ahnung,

public List<ItemModel> ReadExcel(string Path, string Ext) 
 
     { 
 
      var FileContent = new List<ItemModel>(); 
 
      FileStream stream = null; 
 
      stream = new FileStream(Path, FileMode.Open, FileAccess.Read); 
 

 

 
      if (Ext == ".xls") 
 
      { 
 
       //1. Reading from a binary Excel file ('97-2003 format; *.xls) 
 
       var Reader = ExcelReaderFactory.CreateBinaryReader(stream); 
 

 
       //3. DataSet - The result of each spreadsheet will be created in the result.Tables 
 
       DataSet result = null; 
 

 
       result = Reader.AsDataSet(); 
 
       //4. DataSet - Create column names from first row 
 
       // excelReader.IsFirstRowAsColumnNames = true; 
 

 
       if (result.Tables[0].Rows.Count != 0) 
 
       { 
 
        for (var x = 0; x < result.Tables[0].Rows.Count; x++) 
 
        { 
 
         if (x > 2) 
 
         { 
 
          var row = result.Tables[0].Rows[x]; 
 

 
          var item = new ItemModel 
 
          { 
 
           INVNO = "", 
 
           
 
           
 
           INVORG =row[0] == null? "" : Convert.ToString(row[0]), 
 
           ITEM = Convert.ToString(row[1]), 
 
           ITEMTYPE = Convert.ToString(row[2]), 
 
           SUBINVCODE = Convert.ToString(row[3]), 
 
           LOCATORS = row[4] == null ? "" : Convert.ToString(row[4]), 
 
           LOTNO = row[5] == null ? "" : Convert.ToString(row[5]), 
 
           COUNTRYOFORIGINCODE = Convert.ToString(row[6]) 
 
          }; 
 
          // modified 
 
          // modified       
 
          // item.EXPIRATIONDATE = row[7] == null ? (DateTime?)null : Convert.ToDateTime(Convert.ToString(row[7])); 
 
          var expdate = Convert.ToString(row[7]); 
 
          if (expdate == "") 
 
          { 
 
           item.EXPIRATIONDATE = null; 
 
          } 
 
          else 
 
          { 
 
           item.EXPIRATIONDATE = Convert.ToDateTime(row[7]); 
 
           item.EXPIRATIONDATE = item.EXPIRATIONDATE; 
 
          } 
 

 
          var onhand = Convert.ToString(row[8]); 
 
          if (row[8] != System.DBNull.Value) 
 
           { 
 
            decimal quantity; 
 
            if(decimal.TryParse(row[8].ToString(), out quantity)) 
 
            { 
 
             item.ONHANDQTY = quantity; 
 
            } 
 
           } 
 

 

 

 
          item.ISCONSIGNED = Convert.ToString(row[9]); 
 
          item.OWNINGORGANIZATION = Convert.ToString(row[10]); 
 

 
          var itemcost = Convert.ToString(row[11]); 
 
          if (row[11] != System.DBNull.Value) 
 
          { 
 
           decimal cost; 
 
           if (decimal.TryParse(row[11].ToString(), out cost)) 
 
           { 
 
            item.ITEMCOST = cost; 
 
           } 
 
          } 
 

 
          var invcost = Convert.ToString(row[12]); 
 
          if (row[12] != System.DBNull.Value) 
 
          { 
 
           decimal invcosty; 
 
           if (decimal.TryParse(row[12].ToString(), out invcosty)) 
 
           { 
 
            item.INVCOST = invcosty; 
 
           } 
 
          } 
 

 

 
          item.PLANNERCODE = Convert.ToString(row[13]); 
 
          item.COMMODITYCODE = Convert.ToString(row[14]); 
 
          item.COMMCODEDESC = Convert.ToString(row[15]); 
 
          item.PRIMARYUOMCODE = Convert.ToString(row[16]); 
 
          item.MINMINMAXQTY = Convert.ToString(row[17]) == "" ? 0 : Convert.ToDecimal(row[17]); 
 
          item.MAXMINMAXQTY = Convert.ToString(row[18]) == "" ? 0 : Convert.ToDecimal(row[18]); 
 

 

 
          if (Convert.ToString(row[19]) == null) 
 
          { 
 
           item.HAZARDOUZITEMFLG = ""; 
 
          } 
 
          else 
 
          { 
 
           item.HAZARDOUZITEMFLG = Convert.ToString(row[19]); 
 
          } 
 
          if (Convert.ToString(row[20]) == null) 
 
          { 
 
           item.DESCRIPTION = ""; 
 
          } 
 
          else 
 
          { 
 
           item.DESCRIPTION = Convert.ToString(row[20]); 
 
          } 
 

 
          item.ITEMDESCRIPTION = Convert.ToString(row[21]); 
 
          item.INVENTORYITEMSTATUSCODE = Convert.ToString(row[22]); 
 

 
          var ORIGINALDATERECIEVE = Convert.ToString(row[23]); 
 
          if (ORIGINALDATERECIEVE == "") 
 
          { 
 
           item.ORIGINALDATERECIEVE = null; 
 
          } 
 
          else 
 
          { 
 
           item.ORIGINALDATERECIEVE = Convert.ToDateTime(row[23]); 
 
          } 
 

 
          //item.NBROFDAYSSINCERECPT = Convert.ToInt16(row[24]); 
 

 
          item.NBROFDAYSSINCERECPT = Convert.ToString(row[24]) == "" ? 0 : Convert.ToDecimal(row[24]); 
 

 
          //item.DATERCVDINSUBINV = Convert.ToDateTime(row[25]); 
 
          var DATERCVDINSUBINV = Convert.ToString(row[25]); 
 
          if (DATERCVDINSUBINV == "") 
 
          { 
 
           item.DATERCVDINSUBINV = null; 
 
          } 
 
          else 
 
          { 
 
           item.DATERCVDINSUBINV = Convert.ToDateTime(row[25]); 
 
          } 
 

 
          
 

 

 

 
          FileContent.Add(item); 
 
         } 
 
        } 
 
       } 
 
       Reader.Close();

+0

Die erste Zeile sieht nicht leer aus ... Es gibt eine 1. in der ersten Spalte. – JohnG

+0

Also, was ist die Frage? irgendwelche Fehler? –

+0

Warum liest du nicht nur die Zeilen, die Daten in deiner Datenbank haben, anstatt sie auf andere Weise zu entfernen, wird effor/code erhöht. –

Antwort

1

Überprüfen Sie den Zustand '! String.IsNullOrEmpty', bevor Sie das Element zu FileContent hinzufügen.

+0

können Sie mir ein Beispiel geben –

+0

if (! String.IsNullOrEmpty (item.INVORG)) FileContent.Add (Element); –

+0

Danke Alex Seine Arbeit –