如何在C#for Windows Mobile设备中快速搜索excel文件

如何在C#for Windows Mobile设备中快速搜索excel文件,c#,excel,windows-mobile,ado,smart-device,C#,Excel,Windows Mobile,Ado,Smart Device,我需要用C#(VS2008)编写一个应用程序,在一个相对较大(80K行)的excel文件中搜索特定行。我通常会使用ADO.net,但Windows Mobile不支持此功能。我曾尝试将excel导出到xml并用linq解析它,但速度仍然很慢。有人有什么建议吗?我建议将excel表格导出为CSV(逗号分隔值)格式 如果可能,您可以加载完整的文件并使用 基本上,它背后的想法是按字母顺序对包含您要查找的值的列进行排序,例如,我们正在名称列中查找名称“peter”。然后,取列中间的值(例如“malcom

我需要用C#(VS2008)编写一个应用程序,在一个相对较大(80K行)的excel文件中搜索特定行。我通常会使用ADO.net,但Windows Mobile不支持此功能。我曾尝试将excel导出到xml并用linq解析它,但速度仍然很慢。有人有什么建议吗?

我建议将excel表格导出为CSV(逗号分隔值)格式

如果可能,您可以加载完整的文件并使用

基本上,它背后的想法是按字母顺序对包含您要查找的值的列进行排序,例如,我们正在名称列中查找名称“peter”。然后,取列中间的值(例如“malcom”),并检查要查找的值是否在该中间值之前或之后。在这种情况下,由于排序的原因,它应该在“malcom”之后,因此您将表一分为二,并在相应的表的一半中继续搜索。您可以递归地重复该操作,直到表中剩下一手记录(比如10),然后执行常规搜索以查找值


我曾经在期末论文中做过这样的事情。我的实现是用C++构建的,并使用了哈希表。它甚至比excel更快。

我使用该算法在五秒钟内创建了两个表的交集或排除,其中包含几百万行。因此,如果正确实施,它可以非常迅速。