blob: e1463d138aee23afa2136d9faf7339be7f0d7187 [file] [log] [blame]
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;
}
}
}