首页 > 解决方案 > 如何下载带有样式的excel文件?

问题描述

我正在尝试将样式添加到 excel 文件中,然后下载它,该文件与数据一起下载,但样式不存在。有人可以帮我解决我失踪的任何事情吗?

            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2016;
            IWorkbook workbook = application.Workbooks.Create(1);
            IWorksheet namedSheet = workbook.Worksheets[0];
            namedSheet.Range["A1"].Text = "CustomerID";       
            namedSheet.Range["B1"].Text = "CompanyName";
            IStyle bodyStyle = workbook.Styles.Add("BodyStyle");
            bodyStyle.BeginUpdate();
            bodyStyle.Color = System.Drawing.Color.FromArgb(15, 19, 22);
            bodyStyle.EndUpdate();
            IStyle headerStyle = workbook.Styles.Add("HeaderStyle");
            headerStyle.BeginUpdate();
            headerStyle.Color = System.Drawing.Color.FromArgb(255, 174, 33);
            headerStyle.EndUpdate();
            namedSheet.Range["A10"].CellStyleName = "BodyStyle";
            namedSheet.Range["A1"].CellStyleName = "HeaderStyle";
            HttpContext.Response.ContentType = "application/vnd.ms-excel";
            MemoryStream ms = new MemoryStream();
            string separator = ",";                      //delimeter
            workbook.SaveAs(ms, separator);
            ms.Flush();
            byte[] bytes = ms.ToArray();
            ms.Close();
            Response.Clear();
            Response.AddHeader("Content-Disposition", "attachment; filename=foo.xls");
            Response.AddHeader("Content-Type", "application/vnd.ms-excel");        Response.ContentType = "application/octet-stream";
            Response.BinaryWrite(bytes);
            Response.Write(Response.Output);
        }

下载的文件中只显示excel数据,不显示样式。

标签: c#asp.net-mvcsyncfusion

解决方案


using GemBox.Spreadsheet;

.....

 worksheet.Cells[row += x, y].Value = ".Style.Font.Color =";
 worksheet.Cells[row, x].Value = "Color.Blue";
 worksheet.Cells[row, x].Style.Font.Color = SpreadsheetColor.FromName(ColorName.Blue);

 worksheet.Cells[row += x, y].Value = ".Style.Font.Italic =";
 worksheet.Cells[row, x].Value = "true";
 worksheet.Cells[row, x].Style.Font.Italic = true;

 worksheet.Cells[row += x, y].Value = ".Style.Font.Name =";
 worksheet.Cells[row, x].Value = "Comic Sans MS";
 worksheet.Cells[row, x].Style.Font.Name = "Comic Sans MS";

 worksheet.Cells[row += x, y].Value = ".Style.Font.Size =";
 worksheet.Cells[row, x].Value = "18 * 20";
 worksheet.Cells[row, x].Style.Font.Size = 18 * 20;

推荐阅读