private void DoCreateTestFileButton_Click(object sender, RoutedEventArgs e) { try { var dialog = new SaveFileDialog(); dialog.FileName = FilePath.Text; dialog.InitialDirectory = Path.GetDirectoryName(FilePath.Text); if (dialog.ShowDialog(this) == true) { List <Person> people = PersonCreator.Work(35); List <Chicken> chickens = ChickenCreator.Work(30); // Passing in LogServiceMessage in optional. I'm using it here to help debug any issues while writing a file. using (var writerService = new ClassToExcelWriterService(LogServiceMessage)) { writerService.AddWorksheet(people, "People", true); writerService.AddWorksheet(chickens, "Chickens", true); writerService.SaveToFile(dialog.FileName); } LogMessage("File saved"); } } catch (Exception ex) { LogError(ex); } }
public List <U> SaveAndRead(List <T> expectedList, bool hasHeaderRow, Action <ClassToExcelMessage> writeCallback = null, Action <ClassToExcelMessage> readCallback = null) { const string workSheetName = "Test"; // WRITE FIRST IClassToExcelWriterService writer = new ClassToExcelWriterService(writeCallback); writer.AddWorksheet(expectedList, workSheetName, hasHeaderRow); MemoryStream ms = writer.SaveToMemoryStream(); // READ AFTERWARDS List <U> actualList; using (ms) { var reader = new ClassToExcelReaderService <U>(readCallback); actualList = reader.ReadWorksheet(ms, workSheetName, hasHeaderRow); } return(actualList); }