본문 바로가기

프로그래밍 언어/C#13

[C#] 엑셀(Excel) - 글자 색상 변경 C#으로 엑셀에 접근하여 글자를 생성하다 보면 특정 셀의 글자색을 변경하거나, 셀의 특정 부분의 글자 색을 변경해야 할 때가 있다. 그럴 때 코드로 정의하는 방법을 알아보았다. Excel의 셀에 접근하기 위해서는 우선 Excel Sheet를 정의해야한다. Excel Sheet 정의는 아래와 같으며, Application -> Workbook -> Worksheet 순서로 생성한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 using NetOffice.OfficeApi; using Excel = NetOffice.ExcelApi; private static bool Create_Worksheet() { string path = "C:\Example.xlsx"; string sheetName =.. 2024. 3. 18.
[C#] 프로그램에서 URL 열기, 브라우저 설정 1. 프로그램에서 URL 열기 프로그램에서 URL을 열기 위해서는 Process 클래스를 사용한다.(System.Diagnostics.Process) URL을 열기 위해 구글링 해봤는데, 역시 stackoverflow에 그 해답이 있었다. 아래 코드를 살펴보면 다음과 같이 동작을 수행한다. OS Platform에 따라서 url 수정을 진행.(&가 다르게 인식되어 그런 듯) ProcessStartInfo에 url과 UseShellExecute 설정을 정의. Process.Start()로 실행 특정 경로가 아닌 URL(www.google.com과 같은)은 그냥 Process.Start()로 열린다고 다른 블로그에 설명되어 있으나, 아래 예와 같이 특정 경로를 포함한다면 Process.Start()로 바로 열.. 2023. 12. 18.
Task / Thread 차이점, Task 사용법 Task는 구현하고 싶은 작업 자체를 의미하며, Thread는 구현하고 싶은 작업을 수행하는 수많은 작업자들 중 하나를 의미한다. Task를 사용하면 어디에서 실제로 해당 작업을 수행했는지 신경 쓰지 않기 때문에 실행자를 제어할 수 없다. (전체 프로세스가 하나의 스레드에 의해 처리되는지 / 멀티 스레드로 처리되는지 모름) 결론 : 실행 중인 작업을 언제든지 중지할 수 있는 제어 수준 필요 : Thread 사용 실행 중인 작업이 완료된 후 중지되는 정도의 제어 수준 필요 : Task 사용 (반복문 내에서 CancellationToken을 사용하면 중지할 수 있지만, 해당 반복문을 진행한 뒤 중지됨) Task 사용 예 1 (비동기 메서드로 적용) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 .. 2022. 10. 25.
[C#] WinForm 의 모든 컨트롤 가져오기 특정 Form의 Control을 가져오려는 경우 Linq의 Cast를 사용하면 된다. 아래는 모든 컨트롤 정보를 리스트로 정의하는 코드이다. 1 2 3 // Control를 가져오려는 Form의 이름 : myForm Form myForm; List Control_List = myForm.Controls.Cast().ToList(); cs TextBox, CheckBox와 같은 특정 Control 요소만 필요한 경우, Linq의 Where를 사용하여 필터링 할 수 있다. 1 2 3 4 5 6 7 // TextBox만 필터링 List Control_List = myForm.Controls.Cast().Where(p => p is TextBox).ToList(); // TextBox, CheckBox 필터링 .. 2022. 1. 7.