c# - 如何下载带有样式的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数据,不显示样式。
解决方案
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;
推荐阅读
- neo4j - 投影图 neo4j 的度中心性。创建投影图的最佳方法
- javascript - 结束日期的日期验证,结束日期必须大于开始日期但使用不同的格式
- javascript - 更改案例,反转和镜像字符串 javascript codewars kata
- angular - 在 selectionmodel angular 中搜索后未选择以前的数据
- python-3.x - PearsonR TypeError:无法使用灵活类型执行减少
- python - 根据外部列表中的值排列分组方法的输出
- c# - MVC 网站和 web-api 身份验证/授权失败操作(框架 4.6.1)
- sql - SQL 更新(在 SET 上选择)
- rxjs - 如何调度确定的商店状态?
- android - 无法使用 NestedScrollView 为 WebView 创建图层