码迷,mamicode.com
首页 > 其他好文 > 详细

比NPOI更好用的Excel操作库——EPPlus

时间:2017-07-21 20:38:29      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:eating   family   并且   导出   语句   sdn   src   它的   情况   

提到通过纯.Net读写Excel,一般首先想到的自然是大名鼎鼎的NPOI,就连微软官方的MSDN都有专门的一篇文章来介绍它的用法。今天在一个项目中使用到了导出报表为Excel的功能,便特地的试用了一下,感觉虽然它的功能够强大,但谈不上好用。可能是由于其起源与Java的POI的缘故,大部分的API还透浓浓着Java的味道。 例如,要在一个单元格中写入数据时,必须先CreateRow(),再CreateCell()才能写入,不能使用类似Cells[rowIndex, colIndex]=value之类的语句一步到位。

于是,便在网上继续搜了一下,在文章《讀取 Excel 你還在用 NPOI 嗎?快來試試 LinqToExcel》中找到了另一个库:LinqToExcel。这个库可以通过一个LINQ查询快速而友好的读取Excel。不过,它貌似仅限于简单的映射关系,并且不能写入,大部分情况下不能满足复杂一点的业务需求。

最后,我找到了一个非常强大的库——EPPlus,感觉上基本上该有的功能都有了,并且有比较友好的API。如下是一个简单的例子:

    using (var p = new ExcelPackage())
    {
        var sheet = p.Workbook.Worksheets.Add("My Sheet");

        //Cells的起始索引是1
        sheet.Cells[1, 1].Value = 0;
        sheet.Cells[2, 1].Value = 1;
        sheet.Cells[3, 1].Value = 2;
        sheet.Cells[4, 1].Value = 3;

        p.SaveAs(new FileInfo(@"r:\output.xlsx"));
    }

感觉上比NPOI友好多了。 效果如下:

    技术分享

这个例子比较简单,更复杂一点的例子可以参考这个文章:http://zeeshanumardotnet.blogspot.com/2010/08/creating-advanced-excel-2007-reports-on.html(需要FQ)。或者它的官方帮助文档:http://epplus.codeplex.com/wikipage?title=FAQ&referringTitle=Documentation

最后,提一下这个库的一点不足——它只支持XLSX格式,不支持Office2003的Excel格式,不过到现在这个也不是什么问题了。

比NPOI更好用的Excel操作库——EPPlus

标签:eating   family   并且   导出   语句   sdn   src   它的   情况   

原文地址:http://www.cnblogs.com/dinght92/p/7219437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!