|  | @@ -1,3 +1,4 @@
 | 
	
		
			
				|  |  | +using System.Reflection;
 | 
	
		
			
				|  |  |  using ClosedXML.Excel;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace ExcelORM;
 | 
	
	
		
			
				|  | @@ -31,18 +32,7 @@ public class ExcelReader
 | 
	
		
			
				|  |  |                  var property = current.GetType().GetProperty(item.PropertyName);
 | 
	
		
			
				|  |  |                  if (property == null) continue;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                object? valueToSet = property.PropertyType switch
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    not null when property.PropertyType == typeof(string) => cell.Value.ToString(),
 | 
	
		
			
				|  |  | -                    not null when property.PropertyType == typeof(DateTime?) => cell.Value.IsDateTime ? cell.Value.GetDateTime() : null,
 | 
	
		
			
				|  |  | -                    not null when property.PropertyType == typeof(TimeSpan?) => cell.Value.IsTimeSpan ? cell.Value.GetTimeSpan() : null,
 | 
	
		
			
				|  |  | -                    not null when property.PropertyType == typeof(double?) => cell.Value.IsNumber ? cell.Value.GetNumber() : null,
 | 
	
		
			
				|  |  | -                    not null when property.PropertyType == typeof(int?) => cell.Value.IsNumber ? (int?)cell.Value.GetNumber() : null,
 | 
	
		
			
				|  |  | -                    _ => throw new NotSupportedException($"{property.PropertyType} isn't supported!")
 | 
	
		
			
				|  |  | -                };
 | 
	
		
			
				|  |  | -               
 | 
	
		
			
				|  |  | -                if (valueToSet != null)
 | 
	
		
			
				|  |  | -                    property.SetValue(current, valueToSet);
 | 
	
		
			
				|  |  | +                current.SetValue(property, cell);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              yield return current;
 |