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