반응형

1. Point

  • 엑셀 셀 스타일을 변수로 만들어 원하는 셀에만 적용
  • 셀 색상 넣기
  • 셀 테두리 설정

 

 

반응형

 

 

2. 전체 코드

// 참조 추가
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;

namespace manual_NPOI_excel_IO
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var newFile = @"./dir/newbook.xlsx";

            using (var fs = new FileStream(newFile, FileMode.Create, FileAccess.Write))
            {

                IWorkbook workbook = new XSSFWorkbook();
                // 시트 생성
                ISheet sheet1 = workbook.CreateSheet("Sheet1");


                // 셀에 적용할 스타일 생성
                var style1 = workbook.CreateCellStyle();
                style1.FillForegroundColor = HSSFColor.Blue.Index2;
                style1.FillPattern = FillPattern.SolidForeground;
                style1.Alignment = HorizontalAlignment.Center;
                style1.BorderBottom = BorderStyle.Medium;
                style1.BorderRight = BorderStyle.DashDotDot;

                // 스타일 적용할 셀 선택
                var cell2 = sheet1.CreateRow(0).CreateCell(0);
                cell2.CellStyle = style1;
                cell2.SetCellValue(0);


                // 작업 내용 파일에 작성 및 저장
                workbook.Write(fs);
            }
        }
    }
}
반응형
반응형

1. Point

  • NPOI 엑셀 셀 크기 설정 방법
  • NPOI 엑셀 셀 크기 자동으로 설정 

 

 

 

반응형

 

 

2. 전체 코드

// 참조 추가
using System.IO;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;

namespace manual_NPOI_excel_IO
{
    internal class Program
    {
        static void Main(string[] args)
        {
            var newFile = @"./dir/newbook.xlsx";

            using (var fs = new FileStream(newFile, FileMode.Create, FileAccess.Write))
            {

                IWorkbook workbook = new XSSFWorkbook();
                // 시트 생성
                ISheet sheet1 = workbook.CreateSheet("Sheet1");

				
                IRow row = sheet1.CreateRow(0);
                // 셀 높이 (point 단위)
                row.Height = 30 * 80;
                row.CreateCell(0).SetCellValue("this is content");
                // Column 크기 자동
                sheet1.AutoSizeColumn(0);


                // 작업 내용 파일에 작성 및 저장
                workbook.Write(fs);
            }
        }
    }
}
반응형
반응형

1. 문제

- [백준 C#] 3052번 나머지 (C#)  (https://www.acmicpc.net/problem/3052)

 

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 반복문을 통해 숫자 10개 입력 받기
  • 리스트를 생성하여 나머지 값을 수집
  • 이미 리스트에 있는 나머지값인 경우 추가 하지 않는다 

 

 

반응형

 

 

3. 전체 코드

using System;
using System.Collections.Generic;
using System.Linq;

namespace B2_03052번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            List<int> list = new List<int>();

            int temp = 0;

            for (int i = 0; i < 10; i++)
            {
                temp = int.Parse(Console.ReadLine()) % 42;

                // 나머지 값이 리스트 안에 있는지 확인한다.
                // 앞에 '!'를 붙여 true/false가 반대로 출력되게 한다
                if (!list.Contains(temp))
                {
                    list.Add(temp);
                }

            }

            Console.WriteLine(list.Count());
        }
    }
}

// 3052번 나머지
// https://www.acmicpc.net/problem/3052
반응형

'알고리즘 > C#' 카테고리의 다른 글

[백준 C#] 2439번 별 찍기 - 2 (C#)  (0) 2022.09.17
[백준 C#] 15552번 빠른 A+B (C#)  (0) 2022.09.17
[백준 C#] 2438번 별 찍기 -1 (C#)  (0) 2022.09.16
[백준 C#] 2739번 구구단 (C#)  (0) 2022.09.16
[백준 C#] 8393번 합 (C#)  (0) 2022.09.16
반응형

1. 문제

- [백준 C#] 2438번 별 찍기 -1
// https://www.acmicpc.net/problem/2438

 

 

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

 

2. 문제 포인트

  • 최대 별의 개수를 입력 받는다
  • 반복문으로 별을 찍는다

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_02438번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int cnt = int.Parse(Console.ReadLine());

            for (int i = 1; i <= cnt; i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
        }
    }
}

// 2438번 별 찍기 -1
// https://www.acmicpc.net/problem/2438
반응형

'알고리즘 > C#' 카테고리의 다른 글

[백준 C#] 15552번 빠른 A+B (C#)  (0) 2022.09.17
[백준 C#] 3052번 나머지 (C#)  (0) 2022.09.16
[백준 C#] 2739번 구구단 (C#)  (0) 2022.09.16
[백준 C#] 8393번 합 (C#)  (0) 2022.09.16
[백준 C#] 10871번 X보다 작은 수 (C#)  (0) 2022.09.15
반응형

1. 문제

- [백준 C#] 2739번 구구단
// https://www.acmicpc.net/problem/2739

 

 

N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.

 

2. 문제 포인트

  • 숫자를 입력 받는다
  • 반복문을 통해 구구단을 만든다

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_02739번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int num = int.Parse(Console.ReadLine());

            // 구구단 출력
            for (int i = 1; i < 10; i++)
            {
                Console.WriteLine($"{num} * {i} = {num * i}");
            }
        }
    }
}

// 2739번 구구단
// https://www.acmicpc.net/problem/2739
반응형

'알고리즘 > C#' 카테고리의 다른 글

[백준 C#] 3052번 나머지 (C#)  (0) 2022.09.16
[백준 C#] 2438번 별 찍기 -1 (C#)  (0) 2022.09.16
[백준 C#] 8393번 합 (C#)  (0) 2022.09.16
[백준 C#] 10871번 X보다 작은 수 (C#)  (0) 2022.09.15
[백준 C#] 10950번 A+B - 3 (C#)  (0) 2022.09.15
반응형

1. 문제

- [백준 C#] 8393번 합
// https://www.acmicpc.net/problem/8393

 

 

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

 

2. 문제 포인트

  • 숫자 1개 입력
  • 1부터 n까지 모두 곱한다

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_08393번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int num = int.Parse(Console.ReadLine());

            int result = 0;

            // 1부터 시작해서 입력받은 숫자까지 더한다
            for (int i=1; i<=num; i++)
            {
                result += i;
            }

            Console.WriteLine(result);
        }
    }
}

// 8393번 합
// https://www.acmicpc.net/problem/8393
반응형
반응형

1. 문제

- [백준 C#] 10871번 X보다 작은 수
// https://www.acmicpc.net/problem/10871

 

 

정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

 

2. 문제 포인트

  • 첫행에 숫자 개수 기준 숫자를 입력 받는다
  • 비교할 숫자들을 입력 받는다
  • 반복문(for문)을 이용하여 열거형 List<int>에 기준보다 작은 숫자들을 추가 한다
  • 출력한다

 

 

반응형

 

 

3. 전체 코드

using System;
using System.Collections.Generic;

namespace B5_10871번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int[] num = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
            int[] in_data = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);

            // 크기 고정인 일반 배열이 아닌
            // 열거형 List를 사용
            List<int> result = new List<int>();
            for (int i = 0; i < num[0]; i++)
            {
                if (in_data[i] < num[1])
                {
                    result.Add(in_data[i]);
                }
            }

            Console.WriteLine(String.Join(" ", result));
        }
    }
}

// 10871번 X보다 작은 수
// https://www.acmicpc.net/problem/10871
반응형

'알고리즘 > C#' 카테고리의 다른 글

[백준 C#] 2739번 구구단 (C#)  (0) 2022.09.16
[백준 C#] 8393번 합 (C#)  (0) 2022.09.16
[백준 C#] 10950번 A+B - 3 (C#)  (0) 2022.09.15
[백준 C#] 10952번 A+B - 5 (C#)  (0) 2022.09.15
[백준 C#] 11021번 A+B - 7 (C#)  (0) 2022.09.15
반응형

1. 문제

- [백준 C#] 10950번 A+B - 3
// https://www.acmicpc.net/problem/10950

 

 

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

 

2. 문제 포인트

  • 반복 횟수를 입력받는다
  • 횟수만큼 더한 값을 출력한다

 

 

반응형

 

 

3. 전체 코드

using System;

namespace B5_10950번
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int cnt = int.Parse(Console.ReadLine());

            for (int i = 0; i < cnt; i++)
            {
                int[] num = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
                Console.WriteLine(num[0] + num[1]);
            }
        }
    }
}

// 10950번 A+B - 3
// https://www.acmicpc.net/problem/10950
반응형

'알고리즘 > C#' 카테고리의 다른 글

[백준 C#] 8393번 합 (C#)  (0) 2022.09.16
[백준 C#] 10871번 X보다 작은 수 (C#)  (0) 2022.09.15
[백준 C#] 10952번 A+B - 5 (C#)  (0) 2022.09.15
[백준 C#] 11021번 A+B - 7 (C#)  (0) 2022.09.15
[백준 C#] 11022번 A+B - 8 (C#)  (0) 2022.09.14

+ Recent posts