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로 처리하면 퍼포먼스가 많이 떨어지게 됩니다.
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
추천0 비추천0
- 이전글사이트에서 이미지 모두 다운로드 받는 방법. 21.05.13
- 다음글CS1736: 'Parameter Name'의 기본 매개 변수 값은 컴파일 타임 상수여야 합니다. 21.05.13
댓글목록
등록된 댓글이 없습니다.