The named ranges are not updated after rows or columns are inserted.
When a chart is created with RadSpreadProcessing, by default it is exported with legend showing category list. If an xlsx file with a chart with legend showing only series is imported and exported, it will be changed to category list as well. API to switch between the two should be added.
Legend showing category list:
Legend showing series:
When a worksheet has a function of the type "=Indirect("A1")" and the value in A1 is edited, the result of the function is not updated. This, however, happens only after the file is imported. If the function is created through code or SetValueAsFormula is called after import, the function works as expected.
Workaround:
CellRange usedCellRange = worksheet.UsedCellRange;
for (int row = 0; row < usedCellRange.RowCount; row++)
{
for (int column = 0; column < usedCellRange.ColumnCount; column++)
{
ICellValue cellValue = worksheet.Cells[row, column].GetValue().Value;
if (cellValue.ValueType == CellValueType.Formula)
{
worksheet.Cells[row, column].SetValue(cellValue);
}
}
}Implement a GoalSeek functionality.
In WorksheetPageSetup, you can only get the PageSize, but not set it. The only way is through setting a PaperType.
This is because in Telerik.Windows.Documents.Spreadsheet.Model.Printing.SheetPageSetupBase, the only way to set the pageSize property is by setting a PaperType, then it uses PaperTypeConverter.ToSize(PaperType) to convert it to the pageSize. I cannot see any other way to set this to a custom size set by the user.
Please allow custom page sizing by adding a setter for the PageSize if possible. Thank you!
WorksheetPageSetup pageSetup = worksheet.WorksheetPageSetup;
Size pageSize = new Size(50, 80)
pageSetup.PageSize = pageSize; // produces cs0200
pageSetup.PageSize.Width = pageSize.Width; // produces cs1612
pageSetup.PageSize.Height = pageSize.Height; // produces cs1612Incorrect calculation of UsedCellRange when conditional formatting is applied to a large cell range.
Workaround:
var usedCellRange = workbook.ActiveWorksheet.GetUsedCellRange(
CellPropertyDefinitions.AllPropertyDefinitions
.Except(
CellPropertyDefinitions.AllPropertyDefinitions.Where(p => p.Name == "DataValidationRule" || p.Name == "ConditionalFormatting")));