我希望使用Epplus C#在我的Web上生成Excel。我想要创建多张表格,每张表格都有不同的内容。我认为可能需要使用For循环,但我不知道如何编码。请帮助我。对于我的糟糕的英语表示抱歉。
using (ExcelPackage pkg = new ExcelPackage())
{
var fullFilename = "warming up specification.xlsx";
var oldFilePath = Server.MapPath("~/File" + "/" + fullFilename);
using (FileStream stream = new FileStream(oldFilePath, FileMode.Open))
{
pkg.Load(stream);
ExcelWorksheet ws = pkg.Workbook.Worksheets[1];
//set Fixed Cell value
foreach (var item in dict)
{
ws.Cells[item.Key].Value = item.Value;
}
ws.Cells.Style.Font.Size = 13;
ws.Cells.Style.WrapText = true;
ws.PrinterSettings.PaperSize = ePaperSize.A4;
ws.PrinterSettings.FitToPage = true;
ws.PrinterSettings.FooterMargin = 0M;
ws.PrinterSettings.TopMargin = 0M;
ws.PrinterSettings.LeftMargin = 0M;
ws.PrinterSettings.RightMargin = 0M;
ws.Cells["A1:AC1"].Merge = true;
ws.Cells["A1:AC1"].Style.Font.Bold = true;
ws.Cells["A1:AC1"].Style.Font.Size = 25;
ws.Cells["A1:AC1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
ws.Cells["A1:AC1"].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
ws.Cells["A1:AC1"].Value = "TEST";
// ws.Cells["F1:L1"].Style.Border.Bottom.Style = ws.Cells["F1:L1"].Style.Border.Left.Style = ws.Cells["F1:L1"].Style.Border.Right.Style = ws.Cells["F1:L1"].Style.Border.Top.Style = ExcelBorderStyle.Thin;
Random rand = new Random();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=" + DateTime.Now.ToString("yyyyMMdd") + "_" + rand.Next(1, 999) + "_" + fullFilename);
Response.BinaryWrite(pkg.GetAsByteArray());
Response.End();
}