Skip to content

VerifyTests/Verify.OpenXml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verify.OpenXML

Discussions Build status NuGet Status

Extends Verify to allow verification of Excel documents via OpenXML.

Supports Excel (xlsx) and Word (docx) documents.

Features

Excel (xlsx)

  • Converts workbooks to CSV format for each worksheet
  • Extracts formulas and displays them alongside cell values
  • Captures document metadata (title, subject, creator, keywords, category, etc.)
  • Supports date scrubbing and GUID scrubbing for deterministic tests
  • Generates deterministic XLSX output using DeterministicIoPackaging

Word (docx)

  • Extracts document text content from paragraphs and tables
  • Captures document properties (title, subject, creator, keywords, etc.)
  • Captures custom document properties
  • Extracts font information
  • Generates deterministic DOCX output using DeterministicIoPackaging

See Milestones for release notes.

Sponsors

Entity Framework Extensions

Entity Framework Extensions is a major sponsor and is proud to contribute to the development this project.

Entity Framework Extensions

NuGet

Usage

Enable Verify.OpenXml

[ModuleInitializer]
public static void Initialize() =>
    VerifyOpenXml.Initialize();

snippet source | anchor

Excel

Verify a file

[Test]
public Task VerifyExcel() =>
    VerifyFile("sample.xlsx");

snippet source | anchor

Verify a Stream

[Test]
public Task VerifyExcelStream()
{
    var stream = new MemoryStream(File.ReadAllBytes("sample.xlsx"));
    return Verify(stream, "xlsx");
}

snippet source | anchor

Verify a SpreadsheetDocument

[Test]
public Task VerifySpreadsheetDocument()
{
    using var stream = File.OpenRead("sample.xlsx");
    using var reader = SpreadsheetDocument.Open(stream, false);
    return Verify(reader);
}

snippet source | anchor

Example snapshot

0,First Name,Last Name,Gender,Country,Date,Age,Id,Formula
1,Dulce,Abril,Female,United States,2017-10-15,32,1562,G2+H21594 (G2+H2)
2,Mara,Hashimoto,Female,Great Britain,2016-08-16,25,1582,1607
3,Philip,Gent,Male,France,2015-05-21,36,2587,2623
4,Kathleen,Hanner,Female,United States,2017-10-15,25,3549,3574
5,Nereida,Magwood,Female,United States,2016-08-16,58,2468,2526
6,Gaston,Brumm,Male,United States,2015-05-21,24,2554,2578

snippet source | anchor

Word

Verify a file

[Test]
public Task VerifyWord() =>
    VerifyFile("sample.docx");

snippet source | anchor

Verify a Stream

[Test]
public Task VerifyWordStream()
{
    var stream = new MemoryStream(File.ReadAllBytes("sample.docx"));
    return Verify(stream, "docx");
}

snippet source | anchor

Verify a WordprocessingDocument

[Test]
public Task VerifyWordprocessingDocument()
{
    using var stream = File.OpenRead("sample.docx");
    using var reader = WordprocessingDocument.Open(stream, false);
    return Verify(reader);
}

snippet source | anchor

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •  

Languages