덮어쓰지 않고 효율적으로 Excel에 DataTable 쓰기
배열에서 Excel 범위로 데이터를 전송할 때 문제가 발생하는 경우가 많으며, 특히 배열의 첫 번째 요소로 셀을 덮어쓸 위험이 있습니다. 다음 접근 방식은 이러한 일반적인 함정을 피하면서 Excel 범위에 DataTable을 효과적으로 작성하는 방법을 보여줍니다.
이 예에서는 DataTable을 2차원 배열로 변환한 다음 이를 워크시트에 씁니다.
<code class="language-csharp">object[,] arr = new object[dt.Rows.Count, dt.Columns.Count]; for (int r = 0; r < dt.Rows.Count; r++) { for (int c = 0; c < dt.Columns.Count; c++) { arr[r, c] = dt.Rows[r][c]; } } range.Value2 = arr;</code>
여기에서 arr
배열은 dt
DataTable의 셀별로 채워집니다. range
개체는 Excel 워크시트 내의 대상 범위를 지정합니다. Value2
속성은 단일 작업으로 배열의 내용을 지정된 범위로 효율적으로 전송합니다.
이 방법은 셀 덮어쓰기 문제를 효과적으로 해결하지만 초기 데이터를 배열로 변환하는 것이 성능 측면에서 항상 가장 최적의 솔루션이 아닐 수도 있다는 점을 인정하는 것이 중요합니다. 특히 대규모 DataTable의 경우 더욱 그렇습니다. 특정 상황과 데이터 크기에 따라 잠재적으로 더 효율적인 대체 방법이 존재할 수 있습니다.
위 내용은 셀을 덮어쓰지 않고 Excel 범위에 DataTable 배열을 효율적으로 쓸 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!