Excel에서 워크시트의 모든 셀을 선택하는 방법.c#의 범위 개체?
Excel 시트의 모든 셀을 선택하려고 합니다.Excel.Range
자동 맞춤, 테두리 등을 적용하기 위한 C#의 객체.시트 안에 병합된 세포가 몇 개 있습니다.
그렇게 할 수 있는 간단한 방법이 있습니까?
Excel.Range theRange = (Excel.Range)CurrentSheet.UsedRange;
이 예제에서는 현재시트는 현재 사용 중인 시트를 저장한 변수입니다.
public void refreshSheetColumsSize(Worksheet ws)
{
ws.get_Range("a1").EntireRow.EntireColumn.Select();
}
여기에서 워크시트의 모든 셀을 선택합니다.
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
공식적으로, 엑셀.작업 계획표.사용된 범위.행 및 Excel.작업 계획표.사용된 범위.열.
실제로는 버그가 있습니다. 시작 행과 열을 빼야 합니다.정답에 가장 가까운 답은 다음과 같습니다.
Public ReadOnly Property LastColumn() As Integer
Get
Return ExcelWorksheet.UsedRange.Columns.Count + _
ExcelWorksheet.UsedRange.Column - 1
End Get
End Property
Public ReadOnly Property LastRow() As Integer
Get
Return ExcelWorksheet.UsedRange.Rows.Count + _
ExcelWorksheet.UsedRange.Row - 1
End Get
End Property
이렇게 하면 적어도 사용된 모든 셀이 반환됩니다. 때로는 조금 더 반환됩니다.'조금 더'는 빈 셀이 아니라 빈 셀이나 다른 임의의 것 때문일 수 있습니다.제가 조사한 바로는 이것이 최선입니다.
만약 당신이 정말로 모든 것을 선택하고 싶다면.
ExcelWorksheet.Activate()
ExcelWorksheet.Cells.Select()
한동안 엑셀 개발을 하지 않았지만(Excel 2003) 코드로 구현하고자 했던 작업을 수행하면서 매크로를 기록하는 것은 도움이 되는 포인터가 충분하다는 것을 항상 발견했습니다.
이 경우 모든 셀을 선택하고 자동 맞춤을 수행하면 다음과 같은 코드가 제공됩니다.
Sub Macro1()
Cells.Select
Cells.EntireColumn.AutoFit
End Sub
대략 다음과 같은 뜻으로 해석할 수 있을 것 같습니다.
((Microsoft.Office.Interop.Excel.Range)_sheet.Cells.Select()).AutoFit();
여기서 _sheet는 사용 중인 워크시트의 인스턴스입니다.(테스트되지 않음)
워크시트의 모든 셀을 고려하기 위해 다음과 같이 쓸 수 있습니다.
workSheet.Cells[workSheet.Rows.Count,workSheet.Columns.Count]
OR
workSheet.get_Range("A1","IV65536")
워크시트의 사용된 셀을 고려하기 위해 다음과 같이 쓸 수 있습니다.
workSheet.Rows.SpecialCells(XlCellType.xlCellTypeLastCell, XlSpecialCellsValue.xlTextValues)
여기서 "워크시트"는 작업 중인 시트를 나타냅니다.두 코드 샘플 모두 범위를 반환합니다.
도움이 되길 바랍니다!
Excel 2007에서 증가한 행/콜 수에 따라 훨씬 더 깔끔하며 변경되지 않습니다.
시트가 wsData라는 변수에 있는 경우:
wsData.Range(wsData.Cells(1, 1), wsData.Cells(wsData.Rows.Count, wsData.Columns.Count))
매우 간단합니다.
xlWorkSheet.UsedRange.Columns.Select()
worksheet.Columns.AutoFit()
여기서 "워크시트"는 워크시트 유형의 변수입니다.
xlWorksheet.get_Range("a1").EntireRow.EntireColumn.AutoFit();
xlWorksheet.get_Range("a1").EntireColumn.EntireRow.AutoFit();
셀 채우기가 완료된 후.
언급URL : https://stackoverflow.com/questions/4850738/how-to-select-all-the-cells-in-a-worksheet-in-excel-range-object-of-c
'programing' 카테고리의 다른 글
달러(약)iPhone에서 click()이 올바르게 작동하지 않습니다. jquery (0) | 2023.06.21 |
---|---|
파일 기록을 표시하시겠습니까? (0) | 2023.06.21 |
__init__()의 내부 변수와 외부 변수 간의 차이(클래스 및 인스턴스 속성) (0) | 2023.06.21 |
일반적인 열거형의 정수 값을 가져옵니다. (0) | 2023.06.21 |
where 절에 윈도우 기능이 없는 이유는 무엇입니까? (0) | 2023.06.21 |