C# 使用oledb从大小约为(200mb)的巨大excel文件中过滤excel数据,使用c(ADO)

C# 使用oledb从大小约为(200mb)的巨大excel文件中过滤excel数据,使用c(ADO),c#,ado.net,oledb,C#,Ado.net,Oledb,我的ado应用程序需要从一个xlsx文件中读取大约10-20MB分钟的数据,然后逐行处理数据,并与另一个大约250 MB分钟大小的xlsx文件进行比较,该文件包含超过1000000行63列,工作方式与数据库类似。当我尝试读取250 MB的数据库文件并在其上运行oledb数据查询时,它的工作非常奇怪,它只给出数据库文件中的第一个匹配数据。但是,如果我在office excel中打开xlsx数据库文件,然后运行应用程序,它将从数据库文件返回所有匹配的数据,而不更改任何代码 我已经在服务器资源管理器中

我的ado应用程序需要从一个xlsx文件中读取大约10-20MB分钟的数据,然后逐行处理数据,并与另一个大约250 MB分钟大小的xlsx文件进行比较,该文件包含超过1000000行63列,工作方式与数据库类似。当我尝试读取250 MB的数据库文件并在其上运行oledb数据查询时,它的工作非常奇怪,它只给出数据库文件中的第一个匹配数据。但是,如果我在office excel中打开xlsx数据库文件,然后运行应用程序,它将从数据库文件返回所有匹配的数据,而不更改任何代码

我已经在服务器资源管理器中检查了我的dataquery是否工作正常,并返回了完整的结果

这个过程也非常耗时,我已经尝试了openxml sax方法来解决性能问题,但它也不起作用。甚至与oledb相比,读取excel也需要更多的时间

我的申请中还有两个问题

有时oledb返回异常“超出系统资源”,并且 一段时间后返回“内部ole自动化错误”。 我也尝试谷歌解决这些问题,但我没有找到任何解决我的问题的办法

有没有解决这些问题的办法。请帮帮我。感谢您的建议,但请记住,我不能更改任何xlsx表格格式,因为我没有权限,这些xlsx文件是由我们的采购合作伙伴使用其他工具自动生成的

谢谢