如何在C#中为Windows Mobile设备快速searchexcel文件
我需要在C#(VS 2008)中编写一个应用程序,它将在一个相对较大的(80K行)excel文件中search特定的行。 我通常会使用ADO.net,但Windows Mobile不支持这一点。 我试图将excel导出到xml中,并用linqparsing,但是它仍然很慢。 有没有人有什么build议?
我build议将excel表格导出为CSV(逗号分隔值)格式。
如果可能的话,你可以加载完整的文件并使用“ 分而治之”(Divide and Conquer)进行search
基本上,它背后的想法是按字母顺序排列包含您正在寻找的值的列,例如。 我们正在名字列中寻找名字“peter”。 比你把这个值放在列的中间(例如“malcom”),并检查你正在查找的值是在中间值之前还是之后。 在这种情况下,应该是因为sorting后的“malcom”,所以你把表分成两半,继续在表的相应部分进行search。 你可以recursion地重复这个操作,直到你有足够的logging留在表中(比如说10),并执行常规search来查找值。
我曾在最后一篇文章中做过这样的事情。 我的实现是build立在C ++和使用哈希表。 它比excel还要快。