public static void SetAndGetValueOfCellA1()
        {
            #region radspreadsheet-features-formulas_0
            Workbook workbook = new Workbook();
            workbook.Worksheets.Add();
            workbook.ActiveWorksheet.Cells[0, 0].SetValue("=3+4");
            #endregion

            #region radspreadsheet-features-formulas_1
            FormulaCellValue formulaCellValue = workbook.ActiveWorksheet.Cells[0, 0].GetValue().Value as FormulaCellValue;
            if (formulaCellValue != null)
            {
                RadExpression expression = formulaCellValue.Value;
                //expression is AdditionExpression with operands 3 and 4

                CellValueFormat format        = workbook.ActiveWorksheet.Cells[0, 0].GetFormat().Value;
                string          valueAsString = formulaCellValue.GetValueAsString(format);
                //valueAsString = "=3+4"

                string resultValueAsString = formulaCellValue.GetResultValueAsString(format);
                //resultAsString = "7"

                CellValueType valueType = formulaCellValue.ValueType;
                //valueType = Formula

                CellValueType resultValueType = formulaCellValue.ResultValueType;
                //resultValueType = Number
            }
            #endregion
        }
Beispiel #2
0
        public void GetFormat()
        {
            Workbook  workbook  = new Workbook();
            Worksheet worksheet = workbook.Worksheets.Add();

            CellSelection cellSelectionA1   = worksheet.Cells[new CellIndex(0, 0)];
            CellSelection cellSelectionA2B3 = worksheet.Cells[new CellRange(new CellIndex(1, 0), new CellIndex(2, 1))];

            CellValueFormat cellSelectioA1Format = cellSelectionA1.GetFormat().Value;
            CellValueFormat cellSelectioA2Format = cellSelectionA2B3.GetFormat().Value;
        }
Beispiel #3
0
        public void ApplyFormat()
        {
            Workbook  workbook  = new Workbook();
            Worksheet worksheet = workbook.Worksheets.Add();

            CellSelection   cellSelectionA1  = worksheet.Cells[new CellIndex(0, 0)];
            CellValueFormat scientificFormat = new CellValueFormat("0.00E+00");

            cellSelectionA1.SetFormat(scientificFormat);

            CellSelection   cellSelectionA2B3 = worksheet.Cells[new CellRange(new CellIndex(1, 0), new CellIndex(2, 1))];
            CellValueFormat percentageFormat  = new CellValueFormat("0.00%");

            cellSelectionA2B3.SetFormat(percentageFormat);
        }
        protected override string ConvertRowIndexToNameOverride(HeaderNameRenderingConverterContext context, int rowIndex)
        {
            int firstVisibleColumnIndex = context.VisibleRange.FromIndex.ColumnIndex;
            int firstTableColumnIndex   = this.TableCellRange.FromIndex.ColumnIndex;
            int lastTableColumnIndex    = this.TableCellRange.ToIndex.ColumnIndex;

            string result = base.ConvertRowIndexToNameOverride(context, rowIndex);

            if ((firstVisibleColumnIndex > firstTableColumnIndex && firstVisibleColumnIndex <= lastTableColumnIndex) &&
                this.TableCellRange.Contains(rowIndex, firstVisibleColumnIndex))
            {
                CellSelection   selection  = context.Worksheet.Cells[rowIndex, firstTableColumnIndex];
                ICellValue      cellValue  = selection.GetValue().Value;
                CellValueFormat cellFormat = selection.GetFormat().Value;

                result = cellValue.GetResultValueAsString(cellFormat);
            }

            return(result);
        }
        public static Workbook CreateWorkBook(RadGridView grid)
        {
            Workbook book = null;

            using (var stream = new MemoryStream())
            {
                int index = 0;
                foreach (GroupDescriptor group in grid.GroupDescriptors)
                {
                    grid.Columns.Insert(index++, new GridViewDataColumn() { DataMemberBinding = new System.Windows.Data.Binding(group.Member) });
                }

                grid.ElementExporting += elementExporting;

                var exportOptions = new GridViewExportOptions()
                {
                    Format = ExportFormat.Csv,
                    ShowColumnFooters = grid.ShowColumnFooters,
                    ShowColumnHeaders = grid.ShowColumnHeaders,
                    ShowGroupFooters = grid.ShowGroupFooters,
                    Culture = new CultureInfo("fr-FR"),
                    Items = grid.Items
                };
                grid.Export(stream, exportOptions);

                grid.ElementExporting -= elementExporting;

                stream.Position = 0;

                var csvProvider = new CsvFormatProvider();
                book = csvProvider.Import(stream);

                // /!\ telerik date format workaround
                var pattern = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern;
                var dateCellFormat = new CellValueFormat(pattern);

                var dateColsIdx = grid.Columns.Cast<GridViewColumn>().OfType<GridViewDataColumn>().Where(col => col.DataType == typeof(DateTime)).Select(col => col.DisplayIndex).ToList();

                if (dateColsIdx.Any())
                {
                    var skipFirstRow = true;
                    var rowCount = grid.Items.Count;
                    for (int i = skipFirstRow ? 1 : 0; i < rowCount; i++)
                    {
                        foreach (var colIdx in dateColsIdx)
                        {
                            book.Worksheets[0].Cells[i, colIdx].SetFormat(dateCellFormat);
                        }
                    }
                }

                foreach (GroupDescriptor group in grid.GroupDescriptors)
                {
                    grid.Columns.RemoveAt(0);
                }
            }

            return book;
        }