NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    C# C#에서 Excel에 데이터를 읽거나 쓸 때 속도 개선할 수 있는 팁.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. C#에서 엑셀에 데이터를 읽거나 쓸 때 속도가 상당히 느립니다. 속도를 개선하기 위해서는 일반적인 방법으로 처리하면 안되는데요. 대부분은 Cells에 인덱스로 접근해서 데이터를 넣거나 읽도록 처리 했을겁니다. 이런 경우에는 아래와 같이 Background에서 동작할 수 있도록 옵션들을 꺼야 합니다.

    Excel.Visible = false;
    Excel.DisplayAlerts = false;
    Excel.ScreenUpdating = false;
    Excel.Calculation = excel.XlCalculation.xlCalculationManual;
    Excel.EnableEvents = false;
    Excel.ErrorCheckingOptions.BackgroundChecking = false;
    Excel.DisplayStatusBar = false;
    Excel.PrintCommunication = false;
    Excel.ActiveWorkbook.EnableAutoRecover = false;

     

    가장 좋은건 Oledb를 사용하는건데요. 이건 다음에 기회가 되면 자세하게 알아보도록 할께요. 가장 쉽게 속도를 개선하는 방법은 object[,] 2차원 배열로 데이터를 만들고, Range.Value에 한번에 처리하는겁니다. COM으로 마샬링하는건 많은 노드를 발생시키므로 Cells로 처리하면 퍼포먼스가 많이 떨어지게 됩니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.