|  | 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; | 
|  | } | 
|  | } | 
|  | } |