Exemplo n.º 1
0
        /// <summary>
        ///     Initializes new instance with single provided table/sheet export config.
        /// </summary>
        /// <param name="sheetConfig">
        ///     Defines export of 1 data table into 1 sheet.
        /// </param>
        public DataSetExportAutoConfig(ISheetExportConfig sheetConfig)
            : this()
        {
            Check.DoRequireArgumentNotNull(sheetConfig, "sheetConfig");

            _tables.Add(sheetConfig);
        }
        /// <summary>
        ///     Lower-level initializer which can work with any data item type.
        /// </summary>
        /// <param name="sheet">
        ///     Mandatory
        /// </param>
        /// <param name="index">
        ///     Relative 0-based sheet column index
        /// </param>
        /// <param name="caption">
        ///     Column header text
        /// </param>
        /// <param name="columnDataSource">
        ///     Mandatory
        /// </param>
        public DataColumnExportAutoConfig(ISheetExportConfig sheet, int index, string caption, IColumnDataSource columnDataSource)
        {
            Check.DoRequireArgumentNotNull(sheet, nameof(sheet));
            Check.DoRequireArgumentNotNull(caption, nameof(caption));
            Check.DoRequireArgumentNotNull(columnDataSource, nameof(columnDataSource));

            ColumnDataSource  = columnDataSource;
            SheetExportConfig = sheet;

            Index   = index;
            Caption = caption;

            var isPrimitive = IsPrimitive(columnDataSource.DataType);
            var isNumeric   = isPrimitive && IsNumeric(columnDataSource.DataType);
            var isDateTime  = !isNumeric && IsDateTime(columnDataSource.DataType);

            HorizontalAlignment = (isDateTime || isPrimitive) ? Write.HorizontalAlignment.Right : Write.HorizontalAlignment.Left;
            VerticalAlignment   = Write.VerticalAlignment.Top;

            AutoFit = true;

            if (isDateTime)
            {
                Format = DefaultDateTimeFormat;
            }
            else if (columnDataSource.DataType == typeof(string))
            {
                MaximumWidth = 50;
            }
        }
        /// <summary>
        ///     Initializes a new instance of the <see cref="DataTableToSheetExporter"/> class.
        /// </summary>
        public DataTableToSheetExporter(ExcelWorksheet excelWorksheet, ISheetExportConfig sheetExportConfig, IDataTable dataTable)
        {
            Check.DoRequireArgumentNotNull(excelWorksheet, "excelWorksheet");
            Check.DoRequireArgumentNotNull(sheetExportConfig, "sheetExportConfig");
            Check.DoRequireArgumentNotNull(dataTable, "dataTable");

            ExcelWorksheet    = excelWorksheet;
            SheetExportConfig = sheetExportConfig;

            _minPopulatedSheetColumnIndex = GetSheetColumnIndex(SheetExportConfig.Columns.Min(c => c.Index));
            _maxPopulatedSheetRowIndex    = GetSheetColumnIndex(SheetExportConfig.Columns.Max(c => c.Index));

            DataTable = dataTable;
        }
 /// <summary>
 ///     Initializes a new instance of the <see cref="DataColumnExportAutoConfig"/> class.
 /// </summary>
 /// <param name="sheet">
 ///     Mandatory
 /// </param>
 /// <param name="column">
 ///     ADO.NET data column from which the sheet column is going to be populated.
 /// </param>
 /// <param name="sheetColumnIndex">
 ///     0-based relative sheet column index to receive data.
 /// </param>
 public DataColumnExportAutoConfig(ISheetExportConfig sheet, DataColumn column, int sheetColumnIndex, string caption)
     : this(sheet, sheetColumnIndex, caption, new DataColumnSource(column))
 {
 }
 /// <summary>
 ///     Initializes new instance from existing <see cref="DataColumn"/> and explicitly specified column position in the sheet.
 /// </summary>
 /// <param name="sheet">
 ///     Mandatory, containing sheet export configuration
 /// </param>
 /// <param name="column">
 ///     Source data column
 /// </param>
 /// <param name="sheetColumnIndex">
 ///     0-based relative index of the column in the sheet
 /// </param>
 public DataColumnExportAutoConfig(ISheetExportConfig sheet, DataColumn column, int sheetColumnIndex)
     : this(sheet, column, sheetColumnIndex, column.ColumnName)
 {
 }
 /// <param name="sheet">
 ///     Mandatory, containing sheet export configuration
 /// </param>
 /// <param name="column">
 ///     Source data column
 /// </param>
 public DataColumnExportAutoConfig(ISheetExportConfig sheet, DataColumn column)
     : this(sheet, column, column.Ordinal)
 {
 }
Exemplo n.º 7
0
        public void AddSheet(ISheetExportConfig sheetConfig)
        {
            Check.DoRequireArgumentNotNull(sheetConfig, "sheetConfig");

            _tables.Add(sheetConfig);
        }