Hi Preier,
Thanks for reporting this issue. We have already fixed the problem with the ExportDataTable method and have also added an overload for exporting any given range into a DataTable. All the changes will be included in the version 2.0.6.x. Thanks.
Best regards,
Stephen.
> ///
> /// Exports worksheet data into a DataTable
> ///
> ///
> /// Row of the first cell from where DataTable should be exported
> ///
> ///
> /// Column of the first cell from where DataTable should be exported
> ///
> ///
Maximum number of rows to export
> ///
Maximum number of columns to export
> ///
DataTable with worksheet data
> public DataTable ExportDataTable( int firstRow, int firstColumn, int maxRows, int maxColumns )
> {
> if( firstRow < 1 || firstRow > DEF_MAX_ROW_ONE_INDEX )
> throw new ArgumentOutOfRangeException( "firstRow" );
>
> if( firstColumn < 1 || firstColumn > DEF_MAX_COLUMN_ONE_INDEX )
> throw new ArgumentOutOfRangeException( "firstColumn" );
>
> DataTable result = new DataTable( this.Name );
>
> // Declare DataColumn and DataRow variables.
> DataColumn dataColumn;
> DataRow dataRow;
>
> maxColumns = Math.Min( maxColumns, DEF_MAX_COLUMN_ONE_INDEX - firstColumn + 1 );
> maxRows = Math.Min( maxRows - 1, DEF_MAX_ROW_ONE_INDEX - firstRow + 2 );
>
> for( int i = 0; i < maxColumns; i++ )
> {
> dataColumn = new DataColumn();
> dataColumn.DataType = System.Type.GetType( "System.String" );
> dataColumn.ColumnName = Range[ firstRow, firstColumn + i ].Text;
> result.Columns.Add( dataColumn );
> // maxRows--;
> }
>
> firstRow++;
>
> for( int i = 0; i < maxRows; i++ )
> {
> dataRow = result.NewRow();
>
> for( int j = 0; j < maxColumns; j++ )
> {
> dataRow[ j ] = Range[ firstRow + i, firstColumn + j ].Text;
> }
>
> result.Rows.Add( dataRow );
> }
>
> return result;
> }