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);
 }

 

posted @ 2018-04-12 00:18  BOBO~  阅读(1171)  评论(0编辑  收藏  举报