An exception is thrown when the file contains the following format string
" PE @ "??0.0;-" PE @ "??0.0;" PE @ New";" PE @ "_0_0@
The exception is thrown in the ValidateNumberFormatDescriptors method.
If a worksheet has page breaks, but Fit to pages is also set to true, the page breaks should not be respected.
wb.ActiveWorksheet.WorksheetPageSetup.PageBreaks.Clear();
When importing a document containing a Plain Text SDT with multiple paragraphs an exception is thrown:
Telerik.Windows.Documents.Flow.Model.Annotations.StructuredDocumentTags.Builders.SdtBuilderFailureException: "This content control type cannot be inserted around multiple paragraphs."
When a format string of type: _ * # ##0_ ;_ * -# ##0_ ;_ * "-"??_ ;_ @_ is set through code and the culture settings of the machine are set so that the number grouping symbol is space, the resulting format string comes out incorrect on export: _,*,# ##0_,;_,*,-# ##0_,;_,*,"-"??_,;_,@_,
This will happen every time the symbols in-between and after _ and * coincide with the number group separator.
After Excel introduced the dynamic array support, files produced with the older Excel versions have formulas that may be displayed with @ in some contexts. For example a file that had the following:
=SUM(IF(A1:A10=1, B1:B10, 0))
Will be displayed like so:
=SUM(IF(@A1:A10=1, B1:B10, 0))
This is done in order to preserve the behavior of the files created in older versions of Excel.
The files created by SpreadProcessing are also treated by Excel as if they are created by pre-dynamic array Excel. Please, introduce support for the new behavior.
PdfFormatProvider provider = new PdfFormatProvider();Read the documentation for CancelationTokenSource.CancelAfter:
this method will throw an ArgumentOutOfRangeException when: delay.TotalMilliseconds is less than -1 or greater than Int32.MaxValue (or UInt32.MaxValue - 1 on some versions of .NET). Note that this upper bound is more restrictive than TimeSpan.MaxValue.
----------------------------------------------------
your code in CancelationTokenSourceFactory.CreateTokenSource does this check:
if (timeSpan.HasValue && timeSpan.Value != TimeSpan.MaxValue)this check for TimeSpan.MaxValue seems totally pointless here, if timeSpan is anything between ~2147483647 and 922337203685476 milliseconds long this will still just throw a ArgumentOutOfRangeException.
I suspect that this check was intended as a way to prevent creating a cancellation timer that never triggers in the CancellationTokenSource, which should look like this:
if (timeSpan.HasValue && timeSpan != Timeout.InfiniteTimeSpan) //Timeout.InfiniteTimeSpan is -1 milliseconds