在C#上工作。我需要读取excel文件然后需要检查所有行数据。为了解决这个问题,我按照以下步骤进行操作
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
假设上面是我的 excel格式。我需要阅读它。我已经完成了步骤1和2.我需要帮助来检查excel行值,假设我的excel Discount列的一行包含ProductName.Than怎么做?我如何检查这种类型的错误以及如何避免这种类型的错误。我使用下面的语法来读取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 :(得分:0)
实现此目的的一种方法是使用OLED的OLEDB提供程序。您也不需要在服务器上安装excel。 在此选项中,您最终也会得到数据集,如果您遍历检索到的表的行,然后检查读取的数据类型,您应该能够确定读取的数据是否格式正确。 TryParse类函数可能会有所帮助。
Prasad Pimparkar
答案 1 :(得分:0)
foreach (datarow item in DataTable.Rows)
{
bellow语法给出了单元格数据类型。 现在使用cxcel row cell检查此类型。如果Type不匹配,则此单元格内容无效。 假设您的第一列是Int。如果一个单元格包含数据类型字符串,那么您的单元格内容无效
//item[index].GetType()
}