Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SpreadsheetCell
- {
- private readonly SpreadsheetCellLocation _spreadsheetCellLocation;
- public SpreadsheetCell()
- {
- Content = string.Empty;
- RowIndex = 0;
- ColumnIndex = 0;
- _spreadsheetCellLocation = new SpreadsheetCellLocation(this);
- }
- public SpreadsheetCellLocation For
- {
- get { return _spreadsheetCellLocation; }
- }
- private string Content { get; set; }
- private int ColumnIndex { get; set; }
- private int RowIndex { get; set; }
- public SpreadsheetCell WithContent(string content)
- {
- Content = content;
- return this;
- }
- public Cell Create()
- {
- var cell = new Cell { DataType = CellValues.InlineString };
- var cellReference = string.Empty;
- if (ColumnIndex != 0)
- {
- cellReference = SpreadsheetUtils.GetColumnName(ColumnIndex);
- }
- if (RowIndex != 0)
- {
- cellReference += RowIndex;
- }
- if (!string.IsNullOrEmpty(cellReference))
- {
- cell.CellReference = cellReference;
- }
- var textNode = new Text { Text = Content };
- var inlineString = new InlineString();
- inlineString.AppendChild(textNode);
- cell.AppendChild(inlineString);
- return cell;
- }
- private void SetColumn(int columnIndex)
- {
- ColumnIndex = columnIndex;
- }
- private void SetRow(int rowIndex)
- {
- RowIndex = rowIndex;
- }
- #region Nested type: SpreadsheetCellLocation
- public class SpreadsheetCellLocation
- {
- private readonly SpreadsheetCell _spreadsheetCell;
- public SpreadsheetCellLocation(SpreadsheetCell spreadsheetCell)
- {
- _spreadsheetCell = spreadsheetCell;
- }
- public SpreadsheetCell Row(int rowIndex)
- {
- _spreadsheetCell.SetRow(rowIndex);
- return _spreadsheetCell;
- }
- public SpreadsheetCell Column(int columnIndex)
- {
- _spreadsheetCell.SetColumn(columnIndex);
- return _spreadsheetCell;
- }
- }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement