zoukankan      html  css  js  c++  java
  • LinqToExcel: LINQ查询Excel电子表格

    Linq的强大人所共知,能不能将Linq扩展到读取excel呢?

    答案当然是肯定的。

    LinqToExcel就是一个实现了使用Linq语法查询excel表格的.net开源类库。

    在nuget搜索下载安装到项目,添加using LinqToExcel引用,然后参见如下代码使用:

           rtb_Result.Text = "LinqTOExcel的使用(支持Excel2003及以下版本。)
    ";
                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中。
    ", 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("
    ");
                    }
                    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

    上面是疑似解决方法,不知道可用不……

  • 相关阅读:
    vimrc 配置 史上最牛
    nmap 黑客 端口扫描(转)
    linux export 命令(转)
    【引用】linux下编译静态库ranlib有什么用
    vim map nmap(转)
    vim 自定义命令 自定义快捷键(转)
    vimrc初学 vim 快捷键 map(转)
    vim 取消 查找 高亮
    Java内存模型(JMM)学习总结
    Struts2和Spring整合
  • 原文地址:https://www.cnblogs.com/AlvinLiang/p/4177815.html
Copyright © 2011-2022 走看看