| using System.IO; |
| using System.Linq; |
| using FluentAssertions; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml; |
| using OfficeOpenXml.DataValidation; |
| |
| namespace NetCoreTests; |
| |
| [TestClass] |
| public class ExcelPackageTest { |
| [TestMethod] |
| public void TestGetAsByteArray() { |
| var package = new ExcelPackage(new FileInfo(GetTestWorkbookPath("Times.xlsx"))); |
| var data = package.GetAsByteArray(); |
| |
| // Verify that we can reload |
| var newPackage = new ExcelPackage(new MemoryStream(data, false)); |
| newPackage.Workbook.Worksheets.Count.Should().Be(1); |
| var worksheet = newPackage.Workbook.Worksheets.First(); |
| worksheet.Name.Should().Be("Times_csv"); |
| } |
| |
| [TestMethod] |
| public void TestGetAsByteArray_PublicLibrary() { |
| var package = new ExcelPackage(new FileInfo(GetTestWorkbookPath("PublicLibrary.xlsx"))); |
| var data = package.GetAsByteArray(); |
| |
| // Verify that we can reload |
| var newPackage = new ExcelPackage(new MemoryStream(data, false)); |
| newPackage.Workbook.Worksheets.Count.Should().Be(1); |
| var worksheet = newPackage.Workbook.Worksheets.First(); |
| worksheet.Name.Should().Be("pusum11a"); |
| } |
| |
| [TestMethod] |
| public void TestGetAsByteArray_DataValidation() { |
| var package = new ExcelPackage(new FileInfo(GetTestWorkbookPath("DataValidation.xlsx"))); |
| var data = package.GetAsByteArray(); |
| |
| // Verify that we can reload |
| var newPackage = new ExcelPackage(new MemoryStream(data, false)); |
| newPackage.Workbook.Worksheets.Count.Should().Be(1); |
| var worksheet = newPackage.Workbook.Worksheets.First(); |
| worksheet.Name.Should().Be("Sheet1"); |
| worksheet.DataValidations.Should().HaveCount(31); |
| worksheet.DataValidations[1].ValidationType.Should().Be(ExcelDataValidationType.Whole); |
| } |
| |
| private static string GetTestWorkbookPath(string filename) { |
| var assemblyPath = Path.GetDirectoryName(typeof(ExcelPackageTest).Assembly.Location)!; |
| return Path.Combine(assemblyPath, "TestWorkbooks", filename); |
| } |
| } |