Как создать новый лист Excel epplus C # с различным содержанием на каждом листе - PullRequest
0 голосов
/ 07 июня 2018

Я хочу создать Excel с Epplus C # на моем веб-сайте.Я хочу создать несколько листов в 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();
        }

1 Ответ

0 голосов
/ 07 июня 2018

Если вы ищете несколько листов в одном файле, просто добавьте другой лист.

ExcelWorksheet ws1 = pkg.Workbook.Worksheets.Add("WorkSheet1");
//your operations for worksheet1

ExcelWorksheet ws2 = pkg.Workbook.Worksheets.Add("WorkSheet2");
//your operations for worksheet2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...