Add support for strikethrough font effect for cell formatting. Currently this is not supported by the model and is omitted on import.
Expose an easy way to create .xlsx documents from DataTable objects.
Add support for theme effects (format schemes). They are described in OOXML using the 'fmtScheme' element. Thing of providing predefined sets. In MS Excel the UI for changing is located in Page Layout tab -> Themes -> Effects.
Add API for setting custom document properties (metadata). Such are visualized by the common editors, e.g. in MS Excel in the File menu. Example properties that can be set through the document properties are: - Title - Subject - Author - Keywords - Comments - Last Author - Creation Date - Category - Manager - Company
If a worksheet spans more than one page, you can print row and column headings or labels (also called print titles) on every page to ensure that the data is properly labeled.
Provide an option to change the display mode of the Worksheet to right-to-left.
Add API to get the list of ranges to which a defined name refers.
Example:
List<CellRange> ranges = workbook.Names["definedName"].Ranges;
CellSelection selection = worksheet.Cells[ranges];
The cell range referred by the defined name could be accessed using code similar to the following one:
foreach (var name in workbook.Names)
{
if (name.Name == givenName)
{
string[] v = name.RefersTo.Split("!".ToCharArray());
foreach (Worksheet sheet in workbook.Sheets)
{
if (sheet.Name.ToUpper() == v[0].Replace("=", String.Empty).ToUpper())
{
string rangeName = v[1];
string firstIndexName = rangeName.Split(":".ToCharArray())[0];
int rowIndex;
int columnIndex;
bool isRowAbsolute;
bool isColumnAbsolute;
bool nameRefersToIndex = NameConverter.TryConvertCellNameToIndex(firstIndexName, out isRowAbsolute, out rowIndex, out isColumnAbsolute, out columnIndex);
if (nameRefersToIndex)
{
sheet.Cells[rowIndex, columnIndex].SetValue(givenValue);
}
}
}
}
}
When a chart is inserted in a document, generated by SpreadProcessing or WordsProcessing, the chart seems to lack any bars. The reason is that some theme information is missing, which effectively makes shapes take their default color, which is transparent. The same applies for shapes inserted in any Document Processing-generated OOXML documents - docx, xlsx. Workaround: (applicable for Excel) Manually change the theme for the document in MS Excel: - Choose Page Layout -> Themes -> Themes dropdown -> Office.
Implement export to XPS file format.
Example:
<sheetViews>
<sheetView tabSelected="1" view="pageBreakPreview" zoomScaleNormal="100" zoomScaleSheetLayoutView="100" workbookViewId="0">
<selection activeCell="J5" sqref="J5"/>
</sheetView>
</sheetViews>
When a formula contains new lines, it is parsed incorrectly as follows:
- When it is shared formula it breaks the imported expression and replaces it with #NAME? error.
- In normal case it simply preserves the formula string converting it to StringExpression.
Workaround: Remove the new lines in the formulas.
Have in mind that this code will fix the issue only for the second scenario, when the formula is not shared.
CellRange usedCellRange = workbook.ActiveWorksheet.UsedCellRange;
for (int row = usedCellRange.FromIndex.RowIndex; row < usedCellRange.ToIndex.RowIndex; row++)
{
for (int column = usedCellRange.FromIndex.ColumnIndex; column < usedCellRange.ToIndex.ColumnIndex; column++)
{
CellSelection cell = workbook.ActiveWorksheet.Cells[row, column];
ICellValue value = cell.GetValue().Value;
if (value.RawValue.Contains("\n"))
{
cell.SetValue(value.RawValue.Replace('\n', ' '));
}
}
}
Implement support for form controls (Button, Combo Box, Check Box, Spin Button, List Box, Option Button, Group Box, Label, Scroll Bar).
Allow to password-protect a workbook, so that it cannot be shown (read) without the password.
Provide ability for working with comments in a spreadsheet document.
In Office 365 there are two types of comments:
This item applies to Threaded Comments only.
For Notes, please follow: SpreadProcessing: Provide API for Insert / Delete Comments (Notes)
Create API allowing conversion of .NET standard numeric format strings to Excel/RadSpreadsheet's number formats.
For example, G3 .NET numeric format should be converted to scientific notation RadSpreadsheet mode - CellValueFormat("0.00E+00").
Introduce support for cell reference ranges which refer to whole columns. For example "=Sheet1$A:$A" refers to the whole column A.
At this point the culture used by RadSpreadProcessing (in the FormatHelper and internally in SpreadsheetCultureHelper) is determined by the current thread culture on startup. Provide ability to: - to change the culture at runtime. Currently, when the thread culture is changed, RadSpreadProcessing is "stuck" with the original one. - set this culture independently of the current thread's one.