Exemple #1
0
 /// <summary>
 /// 设置单元格外边框(上,下,右,左边框)
 /// </summary>
 /// <param name="range">Range对象</param>
 /// <param name="bordersLineStyle">边框线条分隔</param>
 /// <param name="bordersWeight">边框线粗细</param>
 public void SetCellsOutline(Excel.Range range, ExcelBordersLineStyle bordersLineStyle, ExcelBorderWeight bordersWeight)
 {
     //Left
     SetCellsBorder(range, ExcelBordersEdge.EdgeLeft, bordersLineStyle, bordersWeight);
     //Right
     SetCellsBorder(range, ExcelBordersEdge.EdgeRight, bordersLineStyle, bordersWeight);
     //Top
     SetCellsBorder(range, ExcelBordersEdge.EdgeTop, bordersLineStyle, bordersWeight);
     //Bottom
     SetCellsBorder(range, ExcelBordersEdge.EdgeBottom, bordersLineStyle, bordersWeight);
 }
Exemple #2
0
        /// <summary>
        /// 设置单元格边框(只能设置单个单元格的边框)
        /// </summary>
        /// <param name="range">Range对象</param>
        /// <param name="bordersEdge">单元格边框范围</param>
        /// <param name="ExcelBordersEdge">单元格边线</param>
        /// <param name="bordersLineStyle">边框线条分隔</param>
        /// <param name="bordersWeight">边框线粗细</param>
        public void SetCellsBorder(Excel.Range range, ExcelBordersEdge bordersEdge, ExcelBordersLineStyle bordersLineStyle, ExcelBorderWeight bordersWeight)
        {
            //range.Select();
            Excel.Border border = null;

            switch (bordersEdge)
            {
            //左右顶底的线
            case ExcelBordersEdge.EdgeLeft:
                border = range.Borders[Excel.XlBordersIndex.xlEdgeLeft];
                break;

            case ExcelBordersEdge.EdgeRight:
                border = range.Borders[Excel.XlBordersIndex.xlEdgeRight];
                break;

            case ExcelBordersEdge.EdgeTop:
                border = range.Borders[Excel.XlBordersIndex.xlEdgeTop];
                break;

            case ExcelBordersEdge.EdgeBottom:
                border = range.Borders[Excel.XlBordersIndex.xlEdgeBottom];
                break;

            //对角线
            case ExcelBordersEdge.DiagonalDown:
                border = range.Borders[Excel.XlBordersIndex.xlDiagonalDown];
                break;

            case ExcelBordersEdge.DiagonUp:
                border = range.Borders[Excel.XlBordersIndex.xlDiagonalUp];
                break;

            //边框内部是横竖线(不包括边框)
            case ExcelBordersEdge.InsideHorizontal:
                border = range.Borders[Excel.XlBordersIndex.xlInsideHorizontal];
                break;

            case ExcelBordersEdge.InsideVertical:
                border = range.Borders[Excel.XlBordersIndex.xlInsideVertical];
                break;

            case ExcelBordersEdge.LineStyleNone:
                //所先范围内所有线都没有
                range.Borders[Excel.XlBordersIndex.xlDiagonalDown].LineStyle     = Excel.XlLineStyle.xlLineStyleNone;           //xlNone
                range.Borders[Excel.XlBordersIndex.xlDiagonalUp].LineStyle       = Excel.XlLineStyle.xlLineStyleNone;
                range.Borders[Excel.XlBordersIndex.xlEdgeLeft].LineStyle         = Excel.XlLineStyle.xlLineStyleNone;
                range.Borders[Excel.XlBordersIndex.xlEdgeTop].LineStyle          = Excel.XlLineStyle.xlLineStyleNone;
                range.Borders[Excel.XlBordersIndex.xlEdgeBottom].LineStyle       = Excel.XlLineStyle.xlLineStyleNone;
                range.Borders[Excel.XlBordersIndex.xlEdgeRight].LineStyle        = Excel.XlLineStyle.xlLineStyleNone;
                range.Borders[Excel.XlBordersIndex.xlInsideVertical].LineStyle   = Excel.XlLineStyle.xlLineStyleNone;
                range.Borders[Excel.XlBordersIndex.xlInsideHorizontal].LineStyle = Excel.XlLineStyle.xlLineStyleNone;
                break;
            }

            if (border != null)
            {
                //XlLineStyle
                Excel.XlLineStyle mXlLineStyle = Excel.XlLineStyle.xlContinuous;
                switch (bordersLineStyle)
                {
                case ExcelBordersLineStyle.Continious:
                    mXlLineStyle = Excel.XlLineStyle.xlContinuous;
                    break;

                case ExcelBordersLineStyle.Dash:
                    mXlLineStyle = Excel.XlLineStyle.xlDash;
                    break;

                case ExcelBordersLineStyle.DashDot:
                    mXlLineStyle = Excel.XlLineStyle.xlDashDot;
                    break;

                case ExcelBordersLineStyle.DashDotDot:
                    mXlLineStyle = Excel.XlLineStyle.xlDashDotDot;
                    break;

                case ExcelBordersLineStyle.Dot:
                    mXlLineStyle = Excel.XlLineStyle.xlDot;
                    break;

                case ExcelBordersLineStyle.Double:
                    mXlLineStyle = Excel.XlLineStyle.xlDouble;
                    break;

                case ExcelBordersLineStyle.StyleNone:
                    mXlLineStyle = Excel.XlLineStyle.xlLineStyleNone;
                    break;

                case ExcelBordersLineStyle.SlantDashDot:
                    mXlLineStyle = Excel.XlLineStyle.xlSlantDashDot;
                    break;
                }
                border.LineStyle = mXlLineStyle;

                //XlBorderWeight
                Excel.XlBorderWeight mXlBorderWeight = Excel.XlBorderWeight.xlThin;

                switch (bordersWeight)
                {
                case ExcelBorderWeight.Hairline:
                    mXlBorderWeight = Excel.XlBorderWeight.xlHairline;
                    break;

                case ExcelBorderWeight.Medium:
                    mXlBorderWeight = Excel.XlBorderWeight.xlMedium;
                    break;

                case ExcelBorderWeight.Thick:
                    mXlBorderWeight = Excel.XlBorderWeight.xlThick;
                    break;

                case ExcelBorderWeight.Thin:
                    mXlBorderWeight = Excel.XlBorderWeight.xlThin;
                    break;
                }
                border.Weight = mXlBorderWeight;
            }//end if
        }