.net 操作excel的常用组件:EPPlus,NPOI

1.NPOI,即POI的.NET版本(POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office文件,格式包括xls, doc, ppt等。)
 
2.EPPlus, Epplus是一个使用Open Office XML文件格式,能读写Excel的第三方插件。
 
先介绍几个基础的类:
 
(1)ExcelPackage  ExcelPackage是EPPlus的入口类,解析一个Excel文件,该类实现了IDisposable接口,可以使用using进行对象释放。
常用构造函数:
public ExcelPackage();
public ExcelPackage(FileInfo newFileInfo);
public ExcelPackage(Stream newStream);
using (ExcelPackage package = new ExcelPackage(new FileInfo(path);))
{
package.Save();//保存后 Epplus组件才会将excel按初始化传入的路径在本地磁盘上进行保存。
} 
MemoryStream stream = new MemoryStream();
using (ExcelPackage package = new ExcelPackage(stream))
{
package.SaveAs(stream);
}
stream.Position = ;
return stream;

(2)ExcelWorkbook  ExcelWorkbook类表示了一个Excel文件。

(3)ExcelWorksheet    是ExcelWorkbook 的属性,对应每一个不同的sheet。

给excel文件添加多个sheet

 List<ExcelWorksheet> ews= new List<ExcelWorksheet>();
ews.Add(package.Workbook.Worksheets.Add("sheetName1"));//sheet1
ews.Add(package.Workbook.Worksheets.Add("sheetName2"));//sheet2

sheet的一些属性

ews[0].Row(1).Height = 24;//行高
ews[0].Row(1).CustomHeight = true;//自动调整行高
ews[0].Column(2).AutoFit(20);//列宽(Epplus的所有行列数都是以1开始的)
ews[0].Column(2).Width = 20;//列宽
ews[0].Cells.AutoFitColumns();//自动列宽
ews[0].Cells .Style .ShrinkToFit = true;//单元格自适应
ews[0].Cells.Style.WrapText = true;//自动换行
ews[0].Hidden = eWorkSheetHidden.Hidden;//隐藏sheet
ews[0].Protection.IsProtected = true;//锁定sheet,不可更改

(4)ExcelRange类    sheet内自定义区域。

定义区域

ExcelRange range1 = wss[c].Cells[2, 1];// Row, Col
ExcelRange range2 = wss[c].Cells[1, 1,3,3];//FromRow, FromCol, ToRow, ToCol

range的一些属性

range.Style.Border.Left.Style = ExcelBorderStyle.Thin;//边框
range.Style.Font.Color.SetColor(System.Drawing.Color.Red);//字体颜色
range.Value = "111";//区域的值
range.Merge = true;//合并
range.Style.WrapText = true;//自动换行
range.AutoFitColumns(10);//列宽
range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;//对齐方式

.net 操作excel的更多相关文章

  1. 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)

    很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...

  2. C#通过NPOI操作Excel

    参考页面: http://www.yuanjiaocheng.net/webapi/create-crud-api-1-post.html http://www.yuanjiaocheng.net/w ...

  3. POI操作Excel

    POI和Excel简介 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作 ...

  4. NPOI操作EXCEL(六)——矩阵类表头EXCEL模板的解析

    哈哈~~~很高兴还活着.总算加班加点的把最后一类EXCEL模板的解析做完了... 前面几篇文章介绍了博主最近项目中对于复杂excel表头的解析,写得不好,感谢园友们的支持~~~ 今天再简单讲诉一下另一 ...

  5. VB操作EXCEL文件

    用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...

  6. VB.NET操作Excel

    VB.NET操作Excel的基本方法与例子:

  7. C# 操作excel单元格居中

    C# 操作excel //导出Excel        private void ExportExcel(string fileName, System.Data.DataTable myDGV, s ...

  8. NPOI操作Excel辅助类

    /// <summary> /// NPOI操作excel辅助类 /// </summary> public static class NPOIHelper { #region ...

  9. JAVA的POI操作Excel

    1.1Excel简介 一个excel文件就是一个工作簿workbook,一个工作簿中可以创建多张工作表sheet,而一个工作表中包含多个单元格Cell,这些单元格都是由列(Column)行(Row)组 ...

  10. NPOI操作EXCEL(一)——npoi基础

    去年项目有一个子模块需要解析上百张不一样的excel表格入库,当时用的NPOI,做了很久...也尝试想把代码分享到oschina,结果没坚持两篇就放弃了. 赶巧的是,昨天运营那边提出要录入一些基础数据 ...

随机推荐

  1. MySQL中的用户与授权

    grant all on *.* to root@'192.168.20.49'; grant select on *.* to root@192.168.20.49 ; -- dba 可以查询 My ...

  2. 利用bootstrap-select.min.js实现bootstrap下拉列表的单选和多选

    参考文章:https://blog.csdn.net/qq_37677519/article/details/78143522

  3. CentOS_7下安装MySQL

    卸载旧版本MySQl: 下载MySQ: MySQl官网:https://dev.mysql.com/downloads/mysql/ 版本自选,操作系统选Linux-Generic,64位系统或者32 ...

  4. Bitmap的使用习惯——及时释放Bitmap占用的内存

    当Bitmap不再需要使用时,我们应该回收它占用的内存,如果我们直接把指向bitmap的引用置null的话,这样bitmap还是会存在内存中,直到GC机制起作用时,才可能会把这个bitmap回收.这样 ...

  5. 资源预加载preload和资源预读取prefetch简明学习

    前面的话 基于VUE的前端小站改造成SSR服务器端渲染后,HTML文档会自动使用preload和prefetch来预加载所需资源,本文将详细介绍preload和prefetch的使用 资源优先级 在介 ...

  6. IntelliJ IDEA远程调试(Debug)Tomcat

    为什么需要这么做? 解决 在我本地是好的啊 这个世界性难题- 测试环境碰到问题,直接连上debug,不用再测试本地,再查看测试环境日志 遇到一些诡异的问题,日志是看不出端倪的 调试一些只能在测试环境执 ...

  7. 使用jquery移除前面通过onclick绑定的元素的事件,然后重新绑定别的函数来执行onclick事件。

    http://caibaojian.com/css3/experience/bugs.htm 使用jquery移除前面通过onclick绑定的元素的事件,然后重新绑定别的函数来执行onclick事件. ...

  8. Linux下的Locale详解

    locale这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多.Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境. loca ...

  9. opencv+codeblocks +anaconda

    study from : https://www.jianshu.com/p/c16b7c870356 #include <cstdio> #include <cstdlib> ...

  10. 公共DNS推荐及dns测速

    DNS在平时上网中扮演重要角色,如果不注意DNS的话,可能会导致网速慢.弹窗广告.网址打不开.打开不是自己想要的网站.劫持等一系列问题.针对DNS的问题,今天我们就来总结一下,看看哪个DNS服务器最好 ...