반응형

C#으로 셀 테두리, 배경, 크기 설정

 

1. 목표

  • 셀의 크기 설정하기

  • 셀 선택하여 테두리 설정하기

  • 셀의 배경색 바꾸기

 

2. 전체 코드

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

//new
using System.Drawing;

namespace chapter_03
{
    class Program
    {
        static void Main(string[] args)
        {
            Application excelapp = new Application();
            Workbook wb = excelapp.Workbooks.Add();
            Worksheet ws = wb.Worksheets.Item[1];

            Range rg = ws.Range[ws.Cells[1, 1], ws.Cells[5,5]];
            rg.Value = "123";

            rg.RowHeight = 30;
            rg.ColumnWidth = 20;

            //외곽만
            rg.BorderAround2(Microsoft.Office.Interop.Excel.XlLineStyle.xlDash);
            rg.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;

            //있는 모든 테두리들
            rg.Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlDash;
            
            //선중 가는선, 중간선, 굵은선, 점선
            rg.Borders.Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThick;
            rg.Interior.Color = Color.FromArgb(51, 102, 51); ;


            wb.SaveAs(Filename:@"C:\test\555.xlsx");
            wb.Close();
            excelapp.Quit();
            Marshal.ReleaseComObject(wb);
            Marshal.ReleaseComObject(excelapp);
        }
    }
}

 

3. 뜯어보기

using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

using System.Drawing;
  • 기존에 사용되던 두개의 참조 외에 한가지가 추가되었다.

  • 참조 -> 어셈블리에서 System.Drawing을 찾아 추가한다.

  • 셀 색상 선택이나 다음 회에서 나올 폰트 색상 선택시 사용된다.

rg.RowHeight = 30;
rg.ColumnWidth = 20;
  • 행의 셀 너비를 30, 열의 너비를 20으로 설정한다.

rg.BorderAround2(Microsoft.Office.Interop.Excel.XlLineStyle.xlDash);
rg.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
  • rg.BorderAround2는 선택된 셀 범위전체를 기준으로 좌우상하 테두리만(외곽만) 변경한다.

    • 테두리가 XlDash선(---)으로 설정한다.

  • rg.Borders를 이용하여 원하는 곳만 변경도 가능하다.

    • _Borders[Microsoft.Office.Interop.Excel.XlBordersIndes.xlEdgeBottom]를 이용하면 하단부 테두리만 변경된다.

    • xlEdgeTop, xlEdgeLeft, xlEdgeRight 등이 있다

rg.Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlDash;
  • 선택된 범위의 모든 테루리에 선 스타일을 적용한다.

rg.Borders.Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThick;
  • 선택 범위 내에서 선 두께를 설정한다.

* 위의 LineStyle과 Weight는 엑셀 셀 서식에서 보이는 속성값을 설정한다.(아래 그림 빨간 사각형 참조)

  따라서 가장 마지막에 설정된 한가지만 적용이 된다.

 

rg.Interior.Color = Color.FromArgb(51, 102, 51);
  • 셀의 배경색을 설정한다.

  • 위에서 참조한 System.Drawing의 Color.FromArgb를 이용하여 RGB값으로 색을 지정한다.

반응형

+ Recent posts