diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Comments/XLComment.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Comments/XLComment.cs index b93319f..83f5846 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Comments/XLComment.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Comments/XLComment.cs @@ -155,7 +155,7 @@ private void Initialize(XLCell cell) { - Author = Environment.UserName; + Author = cell.Worksheet.Author; Container = this; Anchor = XLDrawingAnchor.MoveAndSizeWithCells; Style = new XLDrawingStyle(); diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/IXLWorksheet.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/IXLWorksheet.cs index 6350bba..0d9dcd6 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/IXLWorksheet.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/IXLWorksheet.cs @@ -367,5 +367,6 @@ Object Evaluate(String expression); + String Author { get; set; } } } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs index d9e8791..e005b74 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs @@ -552,7 +552,7 @@ NamedRanges = new XLNamedRanges(this); CustomProperties = new XLCustomProperties(this); ShapeIdManager = new XLIdManager(); - + Author = Environment.UserName; } /// @@ -696,5 +696,7 @@ { return CalcEngineExpr.Evaluate(expression); } + + public String Author { get; set; } } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs index dcc5714..effcba6 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs @@ -866,7 +866,8 @@ else if (cell.CellValue != null) { var numberFormatId = ((CellFormat) (s.CellFormats).ElementAt(styleIndex)).NumberFormatId; - xlCell._cellValue = Double.Parse(cell.CellValue.Text, CultureInfo.InvariantCulture).ToString(); + if (!XLHelper.IsNullOrWhiteSpace(cell.CellValue.Text)) + xlCell._cellValue = Double.Parse(cell.CellValue.Text, CultureInfo.InvariantCulture).ToString(); if (s.NumberingFormats != null && s.NumberingFormats.Any(nf => ((NumberingFormat) nf).NumberFormatId.Value == numberFormatId)) { diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs index f6ebc55..5e08e24 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs @@ -4129,7 +4129,8 @@ } else if (dataType == XLCellValues.DateTime || dataType == XLCellValues.Number) { - cellValue.Text = Double.Parse(opCell.InnerText).ToString(CultureInfo.InvariantCulture); + if (!XLHelper.IsNullOrWhiteSpace(opCell.InnerText)) + cellValue.Text = Double.Parse(opCell.InnerText).ToString(CultureInfo.InvariantCulture); cell.CellValue = cellValue; } else diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs index fbf3684..c7137d9 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorksheet.cs @@ -82,6 +82,8 @@ RightToLeft = workbook.RightToLeft; TabColor = new XLColor(); SelectedRanges = new XLRanges(); + + Author = workbook.Author; } #endregion @@ -1431,5 +1433,7 @@ { return CalcEngine.Evaluate(expression); } + + public String Author { get; set; } } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Comments/AddingComments.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Comments/AddingComments.cs index dba1b3f..fe5b0d3 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Comments/AddingComments.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Comments/AddingComments.cs @@ -10,9 +10,9 @@ public class AddingComments : IXLExample { - public void Create(string filePath) + public void Create(string filePath) { - var wb = new XLWorkbook(); + var wb = new XLWorkbook {Author = "Manuel"}; AddMiscComments(wb); AddVisibilityComments(wb); AddPosition(wb);