首页 > 代码库 > LinqToExcel: LINQ查询Excel电子表格
LinqToExcel: LINQ查询Excel电子表格
Linq的强大人所共知,能不能将Linq扩展到读取excel呢?
答案当然是肯定的。
LinqToExcel就是一个实现了使用Linq语法查询excel表格的.net开源类库。
在nuget搜索下载安装到项目,添加using LinqToExcel引用,然后参见如下代码使用:
rtb_Result.Text = "LinqTOExcel的使用(支持Excel2003及以下版本。)\n"; OpenFileDialog excelOpener = new OpenFileDialog(); excelOpener.Filter = "Excel文件|*.xls"; if (excelOpener.ShowDialog() == DialogResult.OK) { var excel = new ExcelQueryFactory(excelOpener.FileName); var dataList = from c in excel.Worksheet("数学") select c; int count = dataList.Count(); rtb_Result.AppendText(string.Format("从Excel读取到{0}行信息,将会显示到textbox中。\n", count)); foreach (var mapping in dataList) { string dbStr = string.Format("{0} {1} {2}", mapping["学号"].ToString(), mapping["姓名"].ToString(), mapping["成绩"].ToString()); rtb_Result.AppendText(dbStr); rtb_Result.AppendText("\n"); } rtb_Result.AppendText("读取完毕。"); } else { rtb_Result.AppendText("没有选择合适的Excel文件。"); }
对形如上面的excel表格,读取到的内容如下:
参考:
官网:https://github.com/paulyoder/LinqToExcel
文摘:http://typecastexception.com/post/2013/09/25/C-Query-Excel-and-CSV-Files-Using-LinqToExcel.aspx
备注:
之所以在例子里只是读取xls,是因为xlsx在本机老读取失败。
我尝试搜素解决方法,一般都是下载AccessDatabaseEngine.exe,可是不行,因为项目只是需要读取一个表格内容并且更新到数据库即可,就没有解决这个问题了……
http://www.cnblogs.com/dwfbenben/archive/2011/12/13/2286058.html
上面是疑似解决方法,不知道可用不……
LinqToExcel: LINQ查询Excel电子表格
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。