Esempio n. 1
0
        // 获取色值
        public static short GetCustomColor(this IWorkbook workBook, ColorType colorType)
        {
            short  indexed = defaultColorIndexed;
            string rgb     = ExcelExtend.GetColor(colorType).Item2;

            if (workBook is HSSFWorkbook)
            {
                var tempWork = (HSSFWorkbook)workBook;
                indexed = tempWork.GetCustomColor(rgb);
            }
            else if (workBook is XSSFWorkbook)
            {
                var tempWork = (XSSFWorkbook)workBook;
                indexed = tempWork.GetCustomColor(rgb);
            }
            return(indexed);
        }
Esempio n. 2
0
        /// <summary>
        /// 设置颜色
        /// </summary>
        /// <param name="workBook"></param>
        /// <param name="colorType"></param>
        private static void SetCustomColor(this HSSFWorkbook workBook, ColorType colorType)
        {
            string rgb = ExcelExtend.GetColor(colorType).Item2;

            workBook.SetCustomColor(rgb);
        }
Esempio n. 3
0
        /// <summary>
        /// 设置边框
        /// </summary>
        /// <param name="cell"></param>
        /// <param name="boderType"></param>
        /// <param name="lineColor"></param>
        public static void SetBoderLine(this ICell cell, ExcelBorderType boderType = ExcelBorderType.BorderAll, ColorType lineColor = ColorType.black)
        {
            if (cell == null)
            {
                return;
            }
            cell.DealParam();
            string rgb     = ExcelExtend.GetColor(lineColor).Item2;
            short  indexed = workBook.GetCustomColor(rgb);

            switch (boderType)
            {
            case ExcelBorderType.BorderAll:
                cellStyle.BorderBottom      = BorderStyle.Thin;
                cellStyle.BottomBorderColor = indexed;
                cellStyle.BorderTop         = BorderStyle.Thin;
                cellStyle.TopBorderColor    = indexed;
                cellStyle.BorderLeft        = BorderStyle.Thin;
                cellStyle.LeftBorderColor   = indexed;
                cellStyle.BorderRight       = BorderStyle.Thin;
                cellStyle.RightBorderColor  = indexed;
                break;

            case ExcelBorderType.BorderAllBold:
                cellStyle.BorderBottom      = BorderStyle.Thick;
                cellStyle.BottomBorderColor = indexed;
                cellStyle.BorderTop         = BorderStyle.Thick;
                cellStyle.TopBorderColor    = indexed;
                cellStyle.BorderLeft        = BorderStyle.Thick;
                cellStyle.LeftBorderColor   = indexed;
                cellStyle.BorderRight       = BorderStyle.Thick;
                cellStyle.RightBorderColor  = indexed;
                break;

            case ExcelBorderType.BorderBottomBold:
                cellStyle.BorderBottom      = BorderStyle.Thick;
                cellStyle.BottomBorderColor = indexed;
                break;

            case ExcelBorderType.BorderBottom:
                cellStyle.BorderBottom      = BorderStyle.Thin;
                cellStyle.BottomBorderColor = indexed;
                break;

            case ExcelBorderType.BorderBottomDouble:
                cellStyle.BorderBottom      = BorderStyle.Double;
                cellStyle.BottomBorderColor = indexed;
                break;

            case ExcelBorderType.BorderLeft:
                cellStyle.BorderLeft      = BorderStyle.Thin;
                cellStyle.LeftBorderColor = indexed;
                break;

            case ExcelBorderType.BorderRight:
                cellStyle.BorderRight      = BorderStyle.Thin;
                cellStyle.RightBorderColor = indexed;
                break;

            case ExcelBorderType.BorderTop:
                cellStyle.BorderTop      = BorderStyle.Thin;
                cellStyle.TopBorderColor = indexed;
                break;

            case ExcelBorderType.BorderTopAndBotoomBold:
                cellStyle.BorderTop         = BorderStyle.Thin;
                cellStyle.TopBorderColor    = indexed;
                cellStyle.BorderBottom      = BorderStyle.Thick;
                cellStyle.BottomBorderColor = indexed;
                break;

            case ExcelBorderType.BorderTopAndBottom:
                cellStyle.BorderTop         = BorderStyle.Thin;
                cellStyle.TopBorderColor    = indexed;
                cellStyle.BorderBottom      = BorderStyle.Thin;
                cellStyle.BottomBorderColor = indexed;
                break;

            case ExcelBorderType.BorderTopAndBottomDouble:
                cellStyle.BorderTop         = BorderStyle.Thin;
                cellStyle.TopBorderColor    = indexed;
                cellStyle.BorderBottom      = BorderStyle.Double;
                cellStyle.BottomBorderColor = indexed;
                break;
            }

            cell.CellStyle = cellStyle;
        }