반응형
전체 열을 사용 범위로 하려면 어떻게 해야 합니까?
열을 받으려고 하는데 사용 범위로 제한해서...
public static Excel.Application App = new Excel.Application();
public static Excel.Workbook WB;
WB = App.Workbooks.Open("xxx.xls", ReadOnly: true);
var sheet = (WB.Sheets[1] as Excel.Worksheet);
// returns 65536 rows, I want only 82 (used range)
sheet.get_Range("F:F");
sheet.UsedRange.get_Range("F:F").Rows.Count; // 65536
어떻게 받을 수 있죠?
사용가능
sheet.UsedRange.Columns[6, Type.Missing].Rows.Count
아니면 이거
sheet.UsedRange.Columns["F:F", Type.Missing].Rows.Count
애플리케이션을 원하는 것 같네요.사용된 범위와 열의 교차점("F:F")
이 방법은 Excel 파일 열을 열(또는 행) 단위로 읽는 데 최적화된 방법입니다.
static void ReadExcelFile(filename) {
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filename, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); // 1st sheet
// the entire table :
Excel.Range range = xlWorkSheet.UsedRange; // range.Rows.Count, range.Columns.Count
for (int col = 1; col <= range.Columns.Count; col++) {
// this line does only one COM interop call for the whole column
object[,] currentColumn = (object[,])range.Columns[col, Type.Missing].Value;
double sum = 0;
for (int i = 1; i < currentColumn.Length; i++) {
object val = currentColumn[i, 1];
sum += (double)val; // only if you know that the values are numbers
// if it was a string column :
//Console.WriteLine("{0}",(string)val);
}
}
}
언급URL : https://stackoverflow.com/questions/5411355/how-do-i-get-an-entire-column-in-used-range
반응형
'source' 카테고리의 다른 글
@PropertySource 주석을 사용할 때 값이 확인되지 않았습니다.PropertySourcesPlaceholderConfigurer을 구성하는 방법은 무엇입니까? (0) | 2023.09.06 |
---|---|
href 요소에서 클릭 이벤트를 트리거하는 방법 (0) | 2023.09.06 |
PphStorm에서 유효한 테이블을 확인할 수 없습니다. (0) | 2023.09.06 |
iOS U Action을 표시하는 방법스위프트의 시트? (0) | 2023.09.06 |
UITableView를 편집하는 동안 "-" (삭제) 버튼을 숨길 수 있는 방법이 있습니까? (0) | 2023.09.06 |