/// <summary> /// Creates a new instance of a generator. /// </summary> /// <returns>Generator</returns> public ExcelFileGenerator CreateGenerator() { var sharedStringsInterner = new SharedStringsInterner(_defaultCapacity); var styleProvider = new StyleProvider(); var visitors = new IDataProviderVisitor[] { new EnumDataProviderVisitor(), new NumericDataProviderVisitor(string.IsNullOrEmpty(_numberFormat) ? (int?)null : styleProvider.GetColumnStyle(_numberFormat)), new DateTimeDataProviderVisitor(string.IsNullOrEmpty(_dateFormat) ? (int?)null : styleProvider.GetColumnStyle(_dateFormat)), new BooleanDataProviderVisitor(string.IsNullOrEmpty(_booleanFormat) ? (int?)null : styleProvider.GetColumnStyle(_booleanFormat)), new DefaultStringDataProviderVisitor(_throwOnLimit) }; var columnFactory = new ExcelColumnFactory(visitors, styleProvider); return(new ExcelFileGenerator(columnFactory, new WorksheetWriter(_encoder, sharedStringsInterner), new SharedStringsWriter(_encoder, sharedStringsInterner), new StylesWriter(styleProvider), _templateStreamFactory(), _compressionStrategy, _compressionLevel, _propertiesFilter)); }
/// <summary> /// Creates a new instance of a generator. /// </summary> /// <returns>Generator</returns> public ExcelFileGenerator CreateGenerator() { var sharedStringsInterner = new SharedStringsInterner(_defaultCapacity); var styleProvider = new StyleProvider(); var visitors = new IDataProviderVisitor[] { new EnumDataProviderVisitor(), new NumericDataProviderVisitor(string.IsNullOrEmpty(_numberFormat) ? (int?) null : styleProvider.GetColumnStyle(_numberFormat)), new DateTimeDataProviderVisitor(string.IsNullOrEmpty(_dateFormat) ? (int?) null : styleProvider.GetColumnStyle(_dateFormat)), new BooleanDataProviderVisitor(string.IsNullOrEmpty(_booleanFormat) ? (int?) null : styleProvider.GetColumnStyle(_booleanFormat)), new DefaultStringDataProviderVisitor(_throwOnLimit) }; var columnFactory = new ExcelColumnFactory(visitors, styleProvider); return new ExcelFileGenerator(columnFactory, new WorksheetWriter(_encoder, sharedStringsInterner), new SharedStringsWriter(_encoder, sharedStringsInterner), new StylesWriter(styleProvider), _templateStreamFactory(), _compressionStrategy, _compressionLevel, _propertiesFilter); }
public ExcelFileGenerator(ExcelColumnFactory factory, IWorksheetWriter worksheetWriter, ISharedStringsWriter sharedStringsWriter, IStylesWriter stylesWriter, Stream templateStream, CompressionStrategy compressionStrategy, CompressionLevel compressionLevel, Func <IEnumerable <PropertyInfo>, IEnumerable <PropertyInfo> > propertiesFilter) { _factory = factory; _worksheetWriter = worksheetWriter; _sharedStringsWriter = sharedStringsWriter; _stylesWriter = stylesWriter; _templateStream = templateStream; _compressionStrategy = compressionStrategy; _compressionLevel = compressionLevel; _propertiesFilter = propertiesFilter; }