Excel 응용 프로그램 (Microsoft.Office.Interop.Excel
)으로 * .htm 파일을 열었습니다. 그것은 훌륭하게 분석되었습니다! 그래서 나는 그것으로 일할 수있다. 속도를 더 높이려면 Excel 범위에서 데이터를 가져와 System.Array에 삽입하여 작업하려고합니다.C#/Excel : Excel 범위를 올바른 데이터 형식으로 배열로 변환
Excel.Range range = ExcelWorksheet.get_Range("A1", "H1500"); // get all values
System.Array dataArray = (System.Array)(range.Cells.Value2); // insert into array
데이터 유형에 문제가 있습니다. 엑셀 셀은 시간 또는 날짜 형식이있는 경우, range.Cells.Value2
만든다 :
12.06.2012 (엑셀 셀 유형 - 일) 41072-
14시 48분 (엑셀 셀 유형 - 시간) 0,616666666666667에 나는 하나의 값 양식을 얻을 경우
엑셀 셀, 나는 (Cells.Text.ToString()
로) 정확한 값을 얻을 :
ExcelWorksheet.get_Range("A1", "A1").Cells.Text.ToString()
작업 : 할 또 다른 유형으로, 단지 텍스트처럼, 그들이 엑셀 시트에서 값을 얻을 필요가있다.
그리고 Excel 대신 나를 생각하고 싶지 않아 :)
물론 당신 말이 맞습니다. 배열을'System.Array dataArray = (System.Array) (range.Cells.Value2)'로 변환하면 배열의 객체 셀 ('object [,] dataArray'와 동일)은 기본 데이터 셀의 데이터 형식입니다. 그래서 데이터 배열의 셀이 과 같은 datetime 타입인지 알 수 있습니다. 위의 액션을 수행 할 수 있습니다. (dataArray.GetValue (1,1) is DateTime) 나는이 문제를 다음과 같이 해결했다 : 'object [,] dataArray = (object [,]) range.get_Value (Excel.XlRangeValueDataType.xlRangeValueDefault);'. DataTime 값은 '2012-06-01 0:00:00'과 같습니다. 그들과 함께 일하는 것도 가능합니다. –