Exemple #1
0
        public void MergeCellsAt(TableIndexRange range)
        {
            _workbook.Worksheet(range.Name).Range
            (
                range.From.Row + 1,
                range.From.Column + 1,
                range.To.Row + 1,
                range.To.Column + 1
            ).Merge();

            Save();
        }
Exemple #2
0
        public void MergeCellsAt(TableIndexRange range)
        {
            BatchUpdateSpreadsheetRequest requestBody = new Request
            {
                MergeCells = new MergeCellsRequest
                {
                    Range     = range.ToGoogleGridRange(),
                    MergeType = "MERGE_ALL",
                }
            }.ToBody();

            SheetsService.Spreadsheets.BatchUpdate(requestBody, SpreadsheetId).Execute();
        }
Exemple #3
0
        public void FormatCellsAt(TableIndexRange range, ICellStyle style)
        {
            BatchUpdateSpreadsheetRequest requestBody = new Request
            {
                RepeatCell = new RepeatCellRequest
                {
                    Range  = range.ToGoogleGridRange(),
                    Cell   = style.ToGoogleCellData(),
                    Fields = AllFields
                }
            }.ToBody();

            SheetsService.Spreadsheets.BatchUpdate(requestBody, SpreadsheetId).Execute();
        }
Exemple #4
0
        public void FormatCellsAt(TableIndexRange range, ICellStyle style)
        {
            var cellsRange = _workbook.Worksheet(range.Name).Range
                             (
                range.From.Row + 1,
                range.From.Column + 1,
                range.To.Row + 1,
                range.To.Column + 1
                             );

            var worksheet = _workbook.Worksheet(range.Name);

            foreach (int columnIndex in range.EnumerateColumnsIndices())
            {
                worksheet.Column(columnIndex).Width = style.Width;
            }

            foreach (int rowIndex in range.EnumerateRowsIndices())
            {
                worksheet.Row(rowIndex).Height = style.Height;
            }

            cellsRange.Style.Fill.SetBackgroundColor(XLColor.FromColor(style.BackgroundColor));
            foreach (var cellIndex in range)
            {
                worksheet.Cell(cellIndex.Row, cellIndex.Column).Hyperlink = new XLHyperlink(style.HyperLink);
            }

            cellsRange.Style.Border.SetLeftBorder(style.BorderStyle.Left.Style.ToExcelLineStyle());
            cellsRange.Style.Border.SetLeftBorderColor(XLColor.FromColor(style.BorderStyle.Left.Color));

            cellsRange.Style.Border.SetRightBorder(style.BorderStyle.Right.Style.ToExcelLineStyle());
            cellsRange.Style.Border.SetRightBorderColor(XLColor.FromColor(style.BorderStyle.Right.Color));

            cellsRange.Style.Border.SetTopBorder(style.BorderStyle.Top.Style.ToExcelLineStyle());
            cellsRange.Style.Border.SetTopBorderColor(XLColor.FromColor(style.BorderStyle.Top.Color));

            cellsRange.Style.Border.SetBottomBorder(style.BorderStyle.Bottom.Style.ToExcelLineStyle());
            cellsRange.Style.Border.SetBottomBorderColor(XLColor.FromColor(style.BorderStyle.Bottom.Color));

            cellsRange.Style.Alignment.SetHorizontal(style.HorizontalAlignment.ToExcelHorizontalAlignment());
            cellsRange.Style.Alignment.SetVertical(style.VerticalAlignment.ToExcelVerticalAlignment());

            cellsRange.Style.Font.SetFontName(style.FontName);
            cellsRange.Style.Font.SetFontSize(style.FontSize);
            cellsRange.Style.Font.SetFontColor(XLColor.FromColor(style.FontColor));

            cellsRange.Style.Alignment.WrapText = style.TextWrapping.ToExcelTextWrapping();
        }
Exemple #5
0
        public List <List <T> > GetValuesForCellsAt <T>(TableIndexRange range)
        {
            ValueRange result = SheetsService.Spreadsheets.Values
                                .Get(SpreadsheetId, range.ToString())
                                .Execute();

            if (result.Values.Count == 0)
            {
                throw new NonExistingIndexException();
            }

            return((List <List <T> >)Convert.ChangeType(
                       result.Values.Select(r => r.ToList()).ToList(),
                       typeof(List <List <T> >)));
        }
Exemple #6
0
        public List <List <T> > GetValuesForCellsAt <T>(TableIndexRange range)
        {
            var values = new List <List <T> >();

            foreach (int rowIndex in range.EnumerateRowsIndices())
            {
                var newRow = new List <T>();
                foreach (int columnIndex in range.EnumerateColumnsIndices())
                {
                    newRow.Add(GetValueForCellAt <T>(new TableIndex(range, columnIndex + 1, rowIndex + 1)));
                }

                values.Add(newRow);
            }

            return(values);
        }
Exemple #7
0
        public void SetValuesForCellsAt <T>(TableIndex index, List <List <T> > values)
        {
            var body = new ValueRange
            {
                Values = values.Select(v => v.Cast <object>().ToList())
                         .Cast <IList <object> >()
                         .ToList(),
                MajorDimension = Direction.Horizontal.ToGoogleDimension()
            };

            var range = new TableIndexRange(index, index
                                            .WithRow(index.Row + values.Count - 1)
                                            .WithColumn(index.Column + values.Select(v => v.Count).Max() - 1));

            UpdateRequest request = SheetsService.Spreadsheets.Values.Update(body, SpreadsheetId, range.ToString());

            request.ValueInputOption = USERENTERED;

            request.Execute();
        }
Exemple #8
0
 public List <List <string> > GetValuesForCellsAt(TableIndexRange range)
 {
     return(GetValuesForCellsAt <string>(range));
 }