C# C读取excel文件忽略第一行
我正在使用OLEDB读取Excel文件。阅读后,我将其保存到数据集中,以备将来使用 下面的代码工作得很好,但总是忽略Excel文件的第一行。 这怎么能解决呢? 请忽略评论和例外文本。 这里有resultI的屏幕,我正在显示结果数据集的第一个数据表到DevExpress GridView。C# C读取excel文件忽略第一行,c#,excel,dataset,oledb,C#,Excel,Dataset,Oledb,我正在使用OLEDB读取Excel文件。阅读后,我将其保存到数据集中,以备将来使用 下面的代码工作得很好,但总是忽略Excel文件的第一行。 这怎么能解决呢? 请忽略评论和例外文本。 这里有resultI的屏幕,我正在显示结果数据集的第一个数据表到DevExpress GridView。 HDR=1是问题所在,将其设为HDR=0-根据代码上的注释,代码假定有标题行,即在数据之前有标题的行-您的数据没有标题行,这就是跳过第一行的原因在strExtendedProperties中将HDR更改为否:
HDR=1是问题所在,将其设为HDR=0-根据代码上的注释,代码假定有标题行,即在数据之前有标题的行-您的数据没有标题行,这就是跳过第一行的原因在strExtendedProperties中将HDR更改为否:
if (Path.GetExtension(filePath).Equals(".xls"))//for 97-03 Excel file
{
sbConnection.Provider = "Microsoft.Jet.OLEDB.4.0";
strExtendedProperties = "Excel 8.0;HDR=No;IMEX=1";//HDR=ColumnHeader,IMEX=InterMixed
}
else if (Path.GetExtension(filePath).Equals(".xlsx")) //for 2007 Excel file
{
sbConnection.Provider = "Microsoft.ACE.OLEDB.12.0";
strExtendedProperties = "Excel 12.0;HDR=No;IMEX=1";
}
else
throw new MyException("Ошибка чтения Excel файла. Необходимо сконвертировать Ваш файл в \".xlsx\" или \".xls\" формат.");
否则,它将始终将第一行解释为列名。HDR=1是问题所在,将其设为HDR=0-根据代码上的注释,代码假定为标题行,这将是在数据之前有标题的行-您的数据没有标题,这就是为什么第一行被删除的原因skipped@user230910改变。现在,它显示excel文件第一行的第一个列名。无需检查文件扩展名并使用旧的提供程序和其他扩展属性。带有Excel12.0扩展属性的Microsoft.ACE.OLEDB.12.0提供程序可以很好地打开这两种文件类型。您应该避免使用Jet Provider现在它显示excel文件第一行的第一个列名。可能您的GridView没有设置为自动生成列?现在它显示excel文件第一行的第一个列名。上面的屏幕截图没有显示任何列名?它显示了,您可以看到它列为灰色,行为白色。
if (Path.GetExtension(filePath).Equals(".xls"))//for 97-03 Excel file
{
sbConnection.Provider = "Microsoft.Jet.OLEDB.4.0";
strExtendedProperties = "Excel 8.0;HDR=No;IMEX=1";//HDR=ColumnHeader,IMEX=InterMixed
}
else if (Path.GetExtension(filePath).Equals(".xlsx")) //for 2007 Excel file
{
sbConnection.Provider = "Microsoft.ACE.OLEDB.12.0";
strExtendedProperties = "Excel 12.0;HDR=No;IMEX=1";
}
else
throw new MyException("Ошибка чтения Excel файла. Необходимо сконвертировать Ваш файл в \".xlsx\" или \".xls\" формат.");