Example #1
0
        public DataTable Create(DataTable.IFieldTypeConverter ftc)
        {
            var rows      = new List <DataTable.Row>(_rows.Count);
            var startRef  = _schema.rangeStartRef;
            var rowOffset = (_schema.isRotated) ? 0 : _schema.nextBlockOffset;
            var colOffset = (!_schema.isRotated) ? 0 : _schema.nextBlockOffset;

            var count      = System.Math.Min(_rows.Count, _rowCountLimit);
            var isEmptyRow = System.Array.TrueForAll(
                _rows[count - 1], x => x == null
                );

            if (isEmptyRow)
            {
                --count;
            }
            for (var n = 0; n < count; ++n)
            {
                var cr = new CellRef(
                    startRef.row + (n * rowOffset),
                    startRef.col + (n * colOffset)
                    );
                rows.Add(new DataTable.Row(cr, _rows[n]));
            }

            return(new DataTable(_schema, rows, ftc));
        }
Example #2
0
        public static XlsxRequest[] SetDefaultFieldTypeConverter(
            this XlsxRequest[] src, DataTable.IFieldTypeConverter ftc)
        {
            if (src == null)
            {
                throw new System.ArgumentNullException("src");
            }
            var dst = new XlsxRequest[src.Length];

            for (var n = 0; n < dst.Length; ++n)
            {
                dst[n] = src[n];
                if (dst[n].fieldTypeConverter == null)
                {
                    dst[n] = dst[n].SetFieldTypeConverter(ftc);
                }
            }
            return(dst);
        }
Example #3
0
 public static XlsxRequest SetFieldTypeConverter(
     this string uri, DataTable.IFieldTypeConverter ftc)
 {
     return(new XlsxRequest(uri).SetFieldTypeConverter(ftc));
 }