Beispiel #1
0
        /// <summary>
        /// 设置数据单元格的字体
        /// </summary>
        public virtual void SetDataCellFont(ExcelFont font, DataFontAttribute fontAttr)
        {
            if (font == null)
            {
                return;
            }

            fontAttr = fontAttr ?? new DataFontAttribute();

            // font.FontHeight = fontAttr.FontHeight;
            // font.Charset = fontAttr.Charset;
            // font.TypeOffset = (FontSuperScript)fontAttr.TypeOffset;

            if (!string.IsNullOrWhiteSpace(fontAttr.FontName))
            {
                font.Name = fontAttr.FontName;
            }
            font.Italic = fontAttr.IsItalic;
            font.Strike = fontAttr.IsStrikeout;
            font.Bold   = fontAttr.IsBold;

            if (fontAttr.Underline > -1)
            {
                font.UnderLineType = (ExcelUnderLineType)fontAttr.Underline;
            }
            if (fontAttr.FontHeightInPoints > -1)
            {
                font.Size = fontAttr.FontHeightInPoints;
            }
            if (fontAttr.Color > -1)
            {
                font.Color.Indexed = fontAttr.Color;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 创建数据单元格的字体
        /// </summary>
        public virtual IFont CreateDataCellFont(IWorkbook workbook, DataFontAttribute fontAttr)
        {
            IFont font = workbook.CreateFont();

            fontAttr = fontAttr ?? new DataFontAttribute();

            font.FontName    = fontAttr.FontName;
            font.IsItalic    = fontAttr.IsItalic;
            font.IsStrikeout = fontAttr.IsStrikeout;
            font.IsBold      = fontAttr.IsBold;

            if (fontAttr.Color > -1)
            {
                font.Color = fontAttr.Color;
            }
            if (fontAttr.FontHeight > -1)
            {
                font.FontHeight = fontAttr.FontHeight;
            }
            if (fontAttr.TypeOffset > -1)
            {
                font.TypeOffset = (FontSuperScript)fontAttr.TypeOffset;
            }
            if (fontAttr.Underline > -1)
            {
                font.Underline = (FontUnderlineType)fontAttr.Underline;
            }
            if (fontAttr.FontHeightInPoints > -1)
            {
                font.FontHeightInPoints = fontAttr.FontHeightInPoints;
            }
            if (fontAttr.Charset > -1)
            {
                font.Charset = fontAttr.Charset;
            }

            return(font);
        }
Beispiel #3
0
 /// <summary>
 /// 创建数据样式和字体【步骤 6】
 /// </summary>
 /// <typeparam name="TExportDto">集合中元素的类</typeparam>
 /// <param name="workbook">工作册</param>
 /// <param name="worksheet">工作表</param>
 /// <param name="styleAttr">样式特征</param>
 /// <param name="fontAttr">字体特征</param>
 /// <returns></returns>
 protected abstract TCellStyle CreateDataStyleAndFont <TExportDto>(TWorkbook workbook, TSheet worksheet,
                                                                   DataStyleAttribute styleAttr, DataFontAttribute fontAttr) where TExportDto : class, new();
Beispiel #4
0
        /// <summary>
        /// 设置数据单元格样式和字体
        /// </summary>
        /// <param name="cellStyle"></param>
        /// <param name="styleAttr"></param>
        /// <param name="fontAttr"></param>
        /// <returns></returns>

        public virtual void SetDataCellStyleAndFont(ExcelStyle cellStyle, DataStyleAttribute styleAttr, DataFontAttribute fontAttr)
        {
            //表头默认样式
            SetDataCellStyle(cellStyle, styleAttr);
            SetDataCellFont(cellStyle.Font, fontAttr);
        }
Beispiel #5
0
        /// <summary>
        /// 设置数据单元格样式和字体
        /// </summary>
        /// <param name="workbook"></param>
        /// <param name="styleAttr"></param>
        /// <param name="fontAttr"></param>
        /// <returns></returns>

        public virtual ICellStyle SetDataCellStyleAndFont(IWorkbook workbook, DataStyleAttribute styleAttr, DataFontAttribute fontAttr)
        {
            //数据单元格默认样式
            ICellStyle defaultStyle = CreateDataCellStyle(workbook, styleAttr);

            defaultStyle.SetFont(CreateDataCellFont(workbook, fontAttr));
            return(defaultStyle);
        }
 protected override ExcelStyle CreateDataStyleAndFont <TExportDto>(ExcelWorkbook workbook, ExcelWorksheet worksheet,
                                                                   DataStyleAttribute styleAttr, DataFontAttribute fontAttr)
 {
     return(null);
 }
Beispiel #7
0
 protected override ICellStyle CreateDataStyleAndFont <TExportDto>(IWorkbook workbook, ISheet worksheet, DataStyleAttribute styleAttr, DataFontAttribute fontAttr)
 {
     return(_npoiCellStyleHandle.SetDataCellStyleAndFont(workbook, styleAttr, fontAttr));
 }