public static IDataTable Project(IDataTable table, IEnumerable <int> columns, Stream output = null) { var validColumn = new HashSet <int>(columns); var writer = new DataTableWriter(table.Columns.Select((c, i) => Tuple.Create(c, i)).Where(c => validColumn.Contains(c.Item2)).Select(c => c.Item1), output); var projector = new DataTableProjector(writer, columns); table.Process(projector); return(writer.GetDataTable()); }
public IDataTable GetDataTable() { return(_writer.GetDataTable()); }