C# 从Excel文件中读取第一行作为标题(慢)
我正在尝试读取Excel文件(.xlsb)格式的C# 从Excel文件中读取第一行作为标题(慢),c#,excel,c#-4.0,visual-studio-2012,visual-studio-2013,C#,Excel,C# 4.0,Visual Studio 2012,Visual Studio 2013,我正在尝试读取Excel文件(.xlsb)格式的第一行。哪些是列标题 我在SO和网站上做了研究。但我试过的代码。第一行的读取时间约为1:05min 是的,我的Excel文件中有大约88列 现在我找到的代码是 String constr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + ";Extended Properties='Excel 12.0 XML;HDR=YES;';"; OleDbConnectio
第一行。哪些是列标题
我在SO和网站上做了研究。但我试过的代码。第一行的读取时间约为1:05min
是的,我的Excel文件中有大约88列
现在我找到的代码是
String constr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + ";Extended Properties='Excel 12.0 XML;HDR=YES;';";
OleDbConnection con = new OleDbConnection(constr);
con.Open();
Console.Write("Start: "+DateTime.Now.ToLongTimeString());
DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, SheetName, null });
Console.Write("Ended: "+DateTime.Now.ToLongTimeString());
问题
这是最好的方法吗。或者我应该尝试不同的代码。如有任何建议,将不胜感激。请对您的代码进行一些分析。哪些代码占用的时间最多?是con.Open()
行还是con.GetOleDbSchemaTable
@ElectricLlama从Start
到end
之间的那一行需要1min
这篇非常相似的帖子表明,当工作簿关闭时,它可能运行得更快。返回的是一个表模式还是多个表模式?@ElectricLlama我已经获得了我的工作表名称,它像闪电一样快速。当它开始获取数据时,一行或两行大约需要1分钟。是的,Excel工作簿中有许多工作表。是的,我的工作簿已关闭。好的,我现在只是猜测,但也许您可以对第二个对象数组参数施加更多限制,这可能会减少返回的数据。但实际上我只是在这里猜测。