anchor.diff:    aValue.Assign(aSheet.ReadAsText(aRow, aCol));
   end;
   
  +{ TmSpreadsheetFont }
  +
  +constructor TmSpreadsheetFont.Create;
  +begin
  +  FItalic:= false;
  +  FBold:= false;
  +  FFontName:= '';
  +  FFontSize:= 10;
  +end;
  +
  +destructor TmSpreadsheetFont.Destroy;
  +begin
  +  inherited Destroy;
  +end;
  +
   { TmSpreadsheetHelper }
   
  +procedure TmSpreadsheetHelper.WriteDefaultFont(const aRow, aCol: integer);
  +begin
  +  if FDefaultFont.FontName <> '' then
  +  begin
  +    Sheet.WriteFontName (aRow, aCol, FDefaultFont.FontName);
  +    Sheet.WriteFontSize (aRow, aCol, FDefaultFont.FontSize);
  +    WriteFontStyle(aRow, aCol, FDefaultFont.Italic, FDefaultFont.Bold);
  +  end;
  +  if FDefaultRowHeight > 0 then
  +    Sheet.WriteRowHeight(aRow, FDefaultRowHeight, suPoints);
  +end;
  +
   constructor TmSpreadsheetHelper.Create;
   begin
     Self.Create(nil);
  
positive.code: constructor TmSpreadsheetHelper.Create(aSheet: TsWorksheet);
  begin
    FSheet := aSheet;
  end;
  
  procedure TmSpreadsheetHelper.WriteFloat(const aRow, aCol: integer; const aValue: TNullableDouble);
  begin
    spWriteFloat(FSheet, aRow, aCol, aValue, aValue.FractionalPartDigits);
  end;
  
  procedure TmSpreadsheetHelper.WriteFloat(const aRow, aCol: integer; const aValue: double; const aFractionalPartDigits: integer);
  begin
    spWriteFloat(FSheet, aRow, aCol, aValue, aFractionalPartDigits);
  end;
  
  procedure TmSpreadsheetHelper.WriteDate(const aRow, aCol: integer; const aValue: TNullableDateTime);
  begin
    spWriteDate(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.WriteDate(const aRow, aCol: integer; const aValue: TDateTime);
  begin
    spWriteDate(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.WriteDateTime(const aRow, aCol: integer; const aValue: TNullableDateTime);
  begin
    spWriteDateTime(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.WriteDateTime(const aRow, aCol: integer; const aValue: TDateTime);
  begin
    spWriteDateTime(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.WriteInteger(const aRow, aCol: integer; const aValue: TNullableInteger);
  begin
    spWriteInteger(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.WriteInteger(const aRow, aCol: integer; const aValue: integer);
  begin
    spWriteInteger(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.WriteInt64(const aRow, aCol: integer; const aValue: Int64);
  begin
    spWriteInt64(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.WriteText(const aRow, aCol: integer; const aValue: TNullableString);
  begin
    spWriteText(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.WriteText(const aRow, aCol: integer; const aValue: String);
  begin
    spWriteText(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.ReadInteger(const aRow, aCol: integer; aValue: TNullableInteger);
  begin
    spReadInteger(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.ReadFloat(const aRow, aCol: integer; aValue: TNullableDouble);
  begin
    spReadFloat(FSheet, aRow, aCol, aValue);
  end;
  
  procedure TmSpreadsheetHelper.ReadUppercaseText(const aRow, aCol: integer; aValue: TNullableString; const aDoTrim : boolean = true);
  begin
    spReadUppercaseText(FSheet, aRow, aCol, aValue, aDoTrim);
  end;
  
  procedure TmSpreadsheetHelper.ReadText(const aRow, aCol: integer; aValue: TNullableString; const aDoTrim : boolean = true);
  begin
    spReadText(FSheet, aRow, aCol, aValue, aDoTrim);
  end;
  
  procedure TmSpreadsheetHelper.ReadDate(const aRow, aCol: integer; aValue: TNullableDateTime);
  begin
    spReadDate(FSheet, aRow, aCol, aValue);
  end;
  
  end.
  
negative.code:     procedure ReadDate(const aRow, aCol : integer; aValue : TNullableDateTime);
  
      property Sheet : TsWorksheet read FSheet write FSheet;
      property DefaultFont : TmSpreadsheetFont read FDefaultFont;
      property DefaultRowHeight : integer read FDefaultRowHeight write FDefaultRowHeight;
    end;
  
  procedure spWriteFloat(aSheet: TsWorksheet; const aRow, aCol : integer; const aValue : TNullableDouble; const aFractionalPartDigits : integer); overload;
  procedure spWriteFloat(aSheet: TsWorksheet; const aRow, aCol : integer; const aValue : double; const aFractionalPartDigits : integer); overload;
  procedure spWriteFloat(aSheet: TsWorksheet; const aRow, aCol : integer; const aValue : double; const aFormatString : String); overload;
  
  procedure spWriteDate(aSheet: TsWorksheet; const aRow, aCol : integer; const aValue: TNullableDateTime); overload;
  procedure spWriteDate(aSheet: TsWorksheet; const aRow, aCol : integer; const aValue : TDateTime); overload;
  