Excel의 모든 이유는 DateTimes를 부동 소수점 숫자로 저장하기 때문입니다. 소수 부분은 시간 구성 요소이고 정수 부분은 날짜를 나타냅니다.
Range.Text
값을 사용하면 텍스트를 올바르게 가져올 수 있습니다. 나는 당신이 위와 같은 방식으로 이것을 꽤 사용할 수 있다고 생각하지 않는다. (나 자신도 그렇게하려고 노력하면서 실제 접근법을 아직 얻지 못했다.) 또한 텍스트 읽기 속도가 느릴 수도 있습니다 (숫자 형식 읽기는 v.slow 임).
라이브러리를 사용해보십시오. FlexCel은 우리가 사용하는 라이브러리 중 가장 좋은 라이브러리이거나 Apose입니다.
반복 접근 (이것은 거의 객체 [,]를 반환하는 get_Value보다 상당히 느립니다.)
if (excelRange!= null)
{
int nRows = excelRange.Rows.Count;
int nCols = excelRange.Columns.Count;
for (int iRow = 1; iRow <= nRows; iRow++)
{
for (int iCount = 1; iCount <= nCols; iCount++)
{
excelRange= (Microsoft.Office.Interop.Excel.Range)xlSheet.Cells[iRow, iCount];
String text = excelRange.Text;
}
}
}
(편집 : SharePoint 용 실제로 있었다 제거 된 다른 예.)
출처
2011-05-13 15:56:38
Ian
16:08:59 대신 "15:59:35에 .67290509259259268"또는 15:59:35에 .6663777 ...이 (가) 확실합니까? – Random832
먼저 어떤 행을 읽었는지 잘못 해석했을 수 있습니다. – Stephen