Programming/C# - Window

C#/ 엑셀(excel) 사용하기

esoog Polaris 2023. 11. 29. 21:41
반응형

# Nuget으로 해당 라이브러리 설치 필요(Microsoft.Office.Interop.Excel)

 

using Excel = Microsoft.Office.Interop.Excel;

static void cleanExcelMethod(string filePath)
{
    // 엑셀 애플리케이션 시작
    Excel.Application excelApp = new Excel.Application();
    excelApp.Visible = false;

    // 워크북 열기
    Excel.Workbook workbook = excelApp.Workbooks.Open(filePath);

    // 모든 워크시트 순회
    foreach (Excel.Worksheet worksheet in workbook.Sheets)
    {
        // 워크시트의 모든 셀 순회
        Excel.Range usedRange = worksheet.UsedRange;
        object[,] values = usedRange.Value; // 셀 값을 배열로 가져옴

        // 배열의 각 원소에 CLEAN 함수 적용
        for (int i = 1; i <= usedRange.Rows.Count; i++)
        {
            for (int j = 1; j <= usedRange.Columns.Count; j++)
            {
                if (values[i, j] != null)
                {
                    values[i, j] = "=CLEAN(\"" + values[i, j].ToString() + "\")";
                }
            }
        }

        // 변경된 값을 셀에 설정
        usedRange.Value = values;
    }

    // 변경 사항 저장 및 워크북 닫기
    workbook.Save();
    workbook.Close();

    // 엑셀 애플리케이션 종료
    excelApp.Quit();

    // COM 오브젝트 해제
    Marshal.ReleaseComObject(workbook);
    Marshal.ReleaseComObject(excelApp);
}
728x90