2011-10-24 6 views
-1

일 내가 추적이검사는 C# .I에

1)Read the excel file. 
2)put the excel file information in DataTable. 

Order Produ price  quan Discount 
10248 11  14.0000 12  0 
10248 42  9.8000 10  0 
10248 72  34.8000 5  0 
10249 14  18.6000 9  0 
10249 51  42.4000 40  0 

위의 가정 내 엑셀 형식에 단계를 어떻게이 문제를 해결 datas.To 모든 행을 확인해야 엑셀 다음 파일을 읽을 필요가 행 열을 엑셀 .i 그것을 읽어야합니다. 1 단계와 2 단계를 마쳤습니다. Excel의 행 값을 확인하는 데 도움이 필요합니다. Excel의 할인 행에 ProductName이 포함되어 있습니다. 어떻게해야합니까?이 오류 유형을 검사하고 이러한 유형의 오류를 방지하는 방법은 무엇입니까? .Browlow 구문을 사용하여 Excel 파일을 읽습니다.

OpenFileDialog oOpenFileDialog = new OpenFileDialog(); 
if (oOpenFileDialog.ShowDialog() == DialogResult.OK) 
{ 
    txtFilePath.Text = oOpenFileDialog.FileName; 
} 
FileStream stream = File.Open(txtFilePath.Text, FileMode.Open, FileAccess.Read); 


IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); 

excelReader.IsFirstRowAsColumnNames = true; 
DataSet result = excelReader.AsDataSet(); 
+0

기술적으로는 다음 어떤 데이터 형식 문자열을 포함 .if 가정하자, 이것은 당신이 아마 수동으로 각 값을 확인해야합니다 의미 논리적 오류에서 제공하지 않는 한이 productname은 영숫자 만 가능하고 할인은 숫자 일 수 있으며, 할인이 일부 범위 내에 있고 제품 ​​이름이 다른 범위에 있어도 차이가 있습니다. 그럼 몇 가지 자동화 된 테스트를 할 수 있지만 그렇지 않으면 수동으로 각각의 것 같아 – nbz

+0

nEm reply.but 주셔서 감사 합니다이 프로세스는 내 문제를 해결하지 않습니다. – shamim

답변

0

이렇게하는 한 가지 방법은 Excel 용 OLEDB 공급자를 사용하는 것입니다. 서버에 Excel을 설치할 필요가 없습니다. 이 옵션을 사용하면 데이터 세트로 끝납니다. 검색된 테이블의 행을 반복하고 읽은 데이터의 유형을 확인하면 읽은 데이터가 올바른 형식인지 여부를 파악할 수 있습니다. TryParse 종류의 함수가 도움이 될 수 있습니다.

사드 Pimparkar

+0

답장을 보내 주셔서 감사합니다. PLZ 일부 구문 표시 – shamim

0
foreach (datarow item in DataTable.Rows) 
    { 

노호 구문 셀 데이터 형식을 제공한다. cxcel 행 셀에서이 유형을 확인하십시오. 유형이 일치하지 않으면이 셀 내용이 유효하지 않습니다. 는 행 첫 번째 열은 지능이 하나 개의 셀이 셀 내용이 잘못

//item[index].GetType() 
} 
관련 문제