Aspose.Cell篇章3,设置写入到Excel文件的各种样式及输出
Aspose.Cell的Style.Number设置全部设置
/// <summary> /// 单元格样式编号 /// 0 General General /// 1 Decimal 0 /// 2 Decimal 0.00 /// 3 Decimal #,##0 /// 4 Decimal #,##0.00 /// 5 Currency $#,##0;$-#,##0 /// 6 Currency $#,##0;[Red]$-#,##0 /// 7 Currency $#,##0.00;$-#,##0.00 /// 8 Currency $#,##0.00;[Red]$-#,##0.00 /// 9 Percentage 0% /// 10 Percentage 0.00% /// 11 Scientific 0.00E+00 /// 12 Fraction # ?/? /// 13 Fraction # ??/?? /// 14 Date m/d/yy /// 15 Date d-mmm-yy /// 16 Date d-mmm /// 17 Date mmm-yy /// 18 Time h:mm AM/PM /// 19 Time h:mm:ss AM/PM /// 20 Time h:mm /// 21 Time h:mm:ss /// 22 Time m/d/yy h:mm /// 37 Currency #,##0;-#,##0 /// 38 Currency #,##0;[Red]-#,##0 /// 39 Currency #,##0.00;-#,##0.00 /// 40 Currency #,##0.00;[Red]-#,##0.00 /// 41 Accounting _ * #,##0_ ;_ * -#,##0_ ;_ * "-"_ ;_ @_ /// 42 Accounting _ $* #,##0_ ;_ $* -#,##0_ ;_ $* "-"_ ;_ @_ /// 43 Accounting _ * #,##0.00_ ;_ * -#,##0.00_ ;_ * "-"??_ ;_ @_ /// 44 Accounting _ $* #,##0.00_ ;_ $* -#,##0.00_ ;_ $* "-"??_ ;_ @_ /// 45 Time mm:ss /// 46 Time [h]:mm:ss /// 47 Time mm:ss.0 /// 48 Scientific ##0.0E+00 /// 49 Text @ /// </summary>
举一个动态设定单元格数字样式的例子,通过GetStyle()方法获取单元格样式,然后,设置Number样式
Aspose.Cells.Style style = ws.Cells[i,j].GetStyle();//ws为WorkSheet实例 style.Number = 10 //这里设置为百分比 ws.Cells[i,j].SetStyle(style)
还可以设置整个Workbook的样式public Style GetStyle(Worksheet ws,SheetTemplateColumnEntity column)
{ Aspose.Cells.Style style = ws.Workbook.Styles[ws.Workbook.Styles.Add()]; style.Font.IsBold = true; style.Font.Size = 12; System.Drawing.Color bcolor = System.Drawing.ColorTranslator.FromHtml(""); style.ForegroundColor = bcolor;//背景色 System.Drawing.Color fcolor = System.Drawing.ColorTranslator.FromHtml(""); style.Font.Color = fcolor; style.Font.Name = "微软雅黑"; style.IndentLevel = 2;//缩进量 style.Number = 10; style.HorizontalAlignment = (TextAlignmentType)(Enum.Parse(typeof(TextAlignmentType),"")); style.VerticalAlignment = (TextAlignmentType)(Enum.Parse(typeof(TextAlignmentType),"")); style.IsLocked = true; style.IsTextWrapped = false ; //获取或设置自动换行
style.Borders.SetColor(System.Drawing.Color.Black);//边框颜色 style.Borders[BorderType.LeftBorder].LineStyle = CellBorderType.Thin;//应用边界线 左边界线 style.Borders[BorderType.RightBorder].LineStyle = CellBorderType.Thin;//应用边界线 右边界线 style.Borders[BorderType.TopBorder].LineStyle = CellBorderType.Thin;//应用边界线 上边界线 style.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;//应用边界线 下边界线 style.Pattern = BackgroundType.Solid; return style; }
//锁定单元格,style.IsLocked使用的时候,锁定的设置为true,不锁定的设置为false。 ws.Protect(ProtectType.All,"654321",null)--设置解锁锁定后,需要设置sheet保护,才能生效 //设置折叠行 ws.Cells.GroupRow(startrow,endrow,false); //设置折叠行后,需要设置SummaryRowBelow来使,折叠符号变正 ws.Outline.SummaryRowBelow = false; ws.FreezePanes(startrow,startcol,rowcount,colcount);//冻结行列 ws.Protection.AllowSelectingLockedCell = false; ws.Protection.AllowInsertingRow = true; ws.Protection.AllowDeletingRow = true; ws.Protection.AllowFormattingColumn = true; ws.Protection.AllowFormattingRow = true; ws.IsOutlineShown = true;//折线显示 wb.CalculateFormula();//刷新公式
添加一种新的输出方式,直接返回给网页
XlsSaveOptions saveOptions = new XlsSaveOptions(SaveFormat.Xlsm); string excelname = Year + "年" + entity.FullName + "管理利润导入报表.Xlsm"; if (HttpContext.Current.Request.UserAgent.ToLower().ToString().IndexOf("firefox") < 0) { wb.Save(System.Web.HttpContext.Current.Response, HttpUtility.UrlEncode(excelname, System.Text.Encoding.UTF8), ContentDisposition.Attachment, saveOptions); } else { wb.Save(System.Web.HttpContext.Current.Response, excelname, ContentDisposition.Attachment, saveOptions); }