public void Test_ReadMetadata_27728( ) { var service = GetService( ); DataFileReaderSettings settings = new DataFileReaderSettings( ); using (Stream stream = SheetTestHelper.GetStream("Qualification.xlsx")) using (IDataFile reader = service.OpenDataFile(stream, settings)) { SheetMetadata metadata = reader.ReadMetadata( ); Assert.That(metadata.Fields, Has.Count.EqualTo(2)); Assert.That(metadata.Fields[0].Key, Is.EqualTo("A")); Assert.That(metadata.Fields [1].Key, Is.EqualTo("B")); Assert.That(metadata.Fields [0].Title, Is.EqualTo("Name")); Assert.That(metadata.Fields [1].Title, Is.EqualTo("Qualifcation code")); } }
private SheetMetadata GetMetadata(string csv, DataFileReaderSettings settings) { var service = GetService(); SheetMetadata metadata; using (MemoryStream stream = new MemoryStream()) using (StreamWriter writer = new StreamWriter(stream)) { writer.Write(csv); writer.Flush(); stream.Position = 0; using (IDataFile dataFile = service.OpenDataFile(stream, settings ?? new DataFileReaderSettings( ))) { metadata = dataFile.ReadMetadata( ); } } Assert.That(metadata, Is.Not.Null, "metadata"); return(metadata); }
/// <summary> /// Read sample data from a spreadsheet reader. /// </summary> /// <param name="stream">The spreadsheet.</param> /// <param name="settings">Settings.</param> /// <param name="service">The reader.</param> /// <returns></returns> public SampleTable CreateSample(Stream stream, DataFileReaderSettings settings, IDataFileReaderService service) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (service == null) { throw new ArgumentNullException(nameof(service)); } // Read field list using (IDataFile dataFile = service.OpenDataFile(stream, settings)) { SheetMetadata metadata = dataFile.ReadMetadata( ); SampleTable table = new SampleTable { Columns = metadata.Fields.Select( field => new SampleColumn { ColumnName = field.Key, Name = field.Title } ).ToList( ) }; // Read records var records = dataFile.GetObjects( ).Take(NumberOfSampleRows); // Convert to sample rows List <SampleRow> sampleRows = new List <SampleRow>( ); foreach (IObjectReader record in records) { // Read values var values = metadata.Fields.Select(field => { try { return(record.GetString(field.Key)); } catch { return(string.Empty); } }).ToList( ); // Create sample row SampleRow row = new SampleRow { Values = values }; sampleRows.Add(row); } table.Rows = sampleRows; return(table); } }
/// <summary> /// Wrap ReadMetadata. /// </summary> public SheetMetadata ReadMetadata( ) { return(_innerDataFile.ReadMetadata( )); }