| using System; | 
 | using System.Collections.Generic; | 
 | using System.Linq; | 
 | using System.Text; | 
 | using System.IO; | 
 | using OfficeOpenXml; | 
 |  | 
 | namespace GeneratePackage | 
 | { | 
 |     class Program | 
 |     { | 
 |         static ExcelPackage package; | 
 |  | 
 |         static void Main(string[] args) | 
 |         { | 
 |             Console.Out.WriteLine("Press enter to Start"); | 
 |             Console.In.ReadLine(); | 
 |  | 
 |             for (int ca = 0; ca < 10; ca++) | 
 |             { | 
 |                 if (ca % 10 == 0) | 
 |                     Console.Out.WriteLine(ca); | 
 |                 CreateDeletePackage(4,100000); | 
 |             } | 
 |             while (!Console.In.ReadLine().Equals("exit", StringComparison.OrdinalIgnoreCase)) | 
 |             { | 
 |                 CreateDeletePackage(1,1000); | 
 |             } | 
 |         } | 
 |  | 
 |         private static void CreateDeletePackage(int Sheets, int rows) | 
 |         { | 
 |             List<object> row = new List<object>(); | 
 |             row.Add(1); | 
 |             row.Add("Some text"); | 
 |             row.Add(12.0); | 
 |             row.Add("Some larger text that has completely no meaning.  How much wood can a wood chuck chuck if a wood chuck could chuck wood.  A wood chuck could chuck as much wood as a wood chuck could chuck wood."); | 
 |  | 
 |             FileInfo LocalFullFileName = new FileInfo(Path.GetTempFileName()); | 
 |             LocalFullFileName.Delete(); | 
 |             package = new ExcelPackage(LocalFullFileName); | 
 |  | 
 |             try | 
 |             { | 
 |                 for (int ca = 0; ca < Sheets; ca++) | 
 |                 { | 
 |                     CreateWorksheet("Sheet" + (ca+1), row, rows); | 
 |                 } | 
 |  | 
 |                 package.Save(); | 
 |             } | 
 |             finally | 
 |             { | 
 |                 LocalFullFileName.Refresh(); | 
 |                 if (LocalFullFileName.Exists) | 
 |                 { | 
 |                     LocalFullFileName.Delete(); | 
 |                 } | 
 |  | 
 |                 package.Dispose(); | 
 |                 package = null; | 
 |  | 
 |                 GC.Collect(); | 
 |             } | 
 |         } | 
 |  | 
 |         private static void CreateWorksheet(string sheetName, List<object> row, int numrows) | 
 |         { | 
 |             ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(sheetName); | 
 |             for (int ca = 1; ca <= numrows; ca++) | 
 |             { | 
 |                 AddDataRow(worksheet, ca, row); | 
 |             } | 
 |         } | 
 |  | 
 |         public static void AddDataRow(ExcelWorksheet worksheet, int row, IEnumerable<object> values) | 
 |         { | 
 |             int ca = 0; | 
 |             foreach (object v in values) | 
 |             { | 
 |                 ca++; | 
 |                 using (ExcelRange cell = worksheet.Cells[row, ca]) | 
 |                 { | 
 |                     object value = v; | 
 |                     cell.Value = value; | 
 |                 } | 
 |             } | 
 |  | 
 |             worksheet.Row(row).Height = 10.2; | 
 |         } | 
 |     } | 
 | } |