When a worksheet contains a cell with longer text, which is right aligned and this text happens to be in the last column of the page, the worksheet is incorrectly split into pages and the last column gets transferred on the next page.
Workaround: Set explicitly the print area you would like to print.
worksheet.WorksheetPageSetup.PrintArea.SetPrintArea(new CellRange(0, 0, 38, 14));
The named ranges need to be translated when used in a certain cell just like the data validation rules. WORKAROUND: When you use RowSelection.Insert() method, for instance, after the row insertion you may iterate all defined names in the document. Parse their RefersTo property and if it is affected by the insertion, delete and recreate the DefinedName in the corresponding NameCollection by updating the RefersTo text value. Sample code for parsing the RefersTo property may be seen in the description of this feedback item: https://feedback.telerik.com/Project/184/Feedback/Details/190061-spreadprocessing-add-api-to-get-the-list-of-ranges-to-which-a-defined-name-refer
If Spreadsheet's history is not enabled, merged cells cannot be unmerged. Workaround: Enable the History before calling Unmerge(): workbook.History.IsEnabled = true; worksheet.Cells[0, 0, 0, 4].Unmerge(); workbook.History.IsEnabled = false;
Allow to password-protect a workbook, so that it cannot be shown (read) without the password.
LayoutHelper is not calculating Height properly in net standard.
Workaround: use SpreadFixedTextMeasurer
Implement functionality to rotate the content of a cell.
Provide the following options for the image:
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);
}
}
}
When autofit is applied on a button with a filter, the button width is not taken into account and it overlaps the text.
Expected:
Actual:
SpreadProcessing: InvalidOperationException when opening an XLS document with a named range that refers to a formula. The message is "Only applicable to named ranges". Opened correctly in Excel.
Parsing a document that contains a cell with wrapped multiline text and its row doesn't define a value for height, results in wrong row height when rendering or exporting to PDF.
Workaround: Fit the height of the row when it contains wrapped cells:
Worksheet worksheet = workbook.ActiveWorksheet;
CellRange wrappedCells = worksheet.GetUsedCellRange(CellPropertyDefinitions.IsWrappedProperty);
for (int i = wrappedCells.FromIndex.RowIndex; i < wrappedCells.ToIndex.RowIndex; i++)
{
worksheet.Rows[i].AutoFitHeight();
}