.NET读写Excel工具Spire.Xls使用(1)入门介绍
在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种:
1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装Excel,对于服务器,有时候还需要为配置IIS权限。折腾人,看到很多人在群里面使用这个东西,出现各种抓狂的错误;
2.开源.NET组件NPOI方式:这个方式应该是很多人都在使用的,这个开源的组件相比第一种,虽然稍微简单了点(2003支持比较好,新版本也支持Xlsx),但还是非常好用的;最近在浏览NPOI的开源网站的时候,突然发现Spire居然是NPOI的赞助商。。赞一个吧,互相帮助,服务大众,不像国内的什么 百毒,企鹅,一天到晚打架,互抨,还要封杀,真是可怜啊。看看NPOI的Codeplex网站截图:
今天给大家介绍的.NET平台操作Excel组件Spire.XLS,应该来说比上面2种方法要更好更稳定,功能也更多,先看看基本介绍:
1.Spire.Office for .NET
Spire.Office for .NET是E-iceblue开发的一种企业级.NET Office编辑的软件集合,包括Spire.Doc,Spire XLS,Spire.PDF,Spire.BarCode等等。.NET平台的开发人员可以使用Spire.Office for .NET轻松的操作含有文档编辑功能的应用程序,还可以导出为MS Word/Excel/RTF/Acces、PDF、XPS、HTML、XML等格式,使用Spire.Office,不需要安装Microsoft Office。虽然Spire.Office for .NET是商业产品,但它的每一个基础功能组件都提供了免费版本。可以去官网看看:http://www.e-iceblue.com/。虽然有一些限制,但简单的东西还是可以试一试。本文介绍的Spire.XLS只是Spire.Office下面的一个操作Excel的组件。
2.Spire.XLS特点
Spire.XLS for .NET 支持所有Excel格式类型(97-2003, 2007, 2010)文件。通过Spire.XLS for .NET,开发人员可以快速方便的查看,生成,读写以及自定义编辑Excel文件。Spire.XLS for .NET有以下主要功能:
1.支持Excel文件的新建,修改编辑,单元格拆分合并,属性设置,加锁加密等等;
2.支持数据库导出到Excel工作表,或者把数据从Excel数据导入到数据库;
3.提供强大的设置单元格格,格式化数字,文字缩进,定位调整,单元格填充以及保护等;
4.支持向Excel文件里面写入公式,表格,图片,不同类型的文字,链接,注释甚至VBA等内容;
5.支持将Excel文件转换成PDF, HTML, CSV, Text, XML以及图片格式。
支持的Excel文件版本很多,看看下面这个图就了解了,下面是枚举类型ExcelVersion的成员列表:
Spire.XLS也提供了免费版本,下载地址:http://www.e-iceblue.com/Introduce/free-xls-component.html,稍微有一些限制,主要限制是单个workbook最多5个sheet,且每个sheet最多支持150行。由于我使用的是正版,所以下面的演示没有这个问题。
3.写个Hello Excel
由于微软的Office太过庞大,我早就抛弃了,这几年一直在用国产的WPS,效果还可以可以,主要是小,才几十M,常用功能也丝毫不逊色与Office。一直的确方便,还免费,二是现在的软件都在争用户,软件大得不得了,占用内存也不断增大,其实受苦的是用户。庞大的Office不是特殊要求,尽量就不要整了,受罪。
我使用的是Spire.Office 2.1版本,因为单位有正版,所有没有用免费版,系统win7-32bit+WPS最新的抢鲜版。工具用的是VS2013,项目类型.NET 4.0(当然组件本身支持的环境很多,如.NET 2.0,3.5,4.0,4.0 ClientProfile,Silverlight3/4/5,WPF等等)。
1.基本准备
第一个步骤,新建项目就不说了,主要是引用相应版本的dll文件,以及添加命名空间的引用:
2.编写基本代码
现在都流行Hello world,使用这个之前,先简单体验一把Hello Excel。代码非常简单,有注释。
1 using System; 2 using Spire.Xls;//这是一个最主要的命名空间 3 4 namespace XlsTest 5 { 6 class Program 7 { 8 static void Main(string[] args) 9 { 10 HelloExcel(); 11 Console.ReadLine(); 12 } 13 static void HelloExcel() 14 { 15 //创建1个工作簿,相当于1个Excel文件 //Excel的文档结构是 Workbook->Worksheet(1个book可以包含多个sheet) 16 Workbook workbook = new Workbook(); 17 18 //获取第一个sheet,进行操作,下标是从0开始 19 Worksheet sheet = workbook.Worksheets[0]; 20 //当然你也可以自己添加1个命名的Worksheet到book中 21 workbook.Worksheets.Add("测试sheet"); 22 23 //向A1单元格写入文字 24 sheet.Range["A1"].Text = "Hello,World!"; 25 26 //将Excel文件保存到指定文件,还可以指定Excel版本 27 workbook.SaveToFile("Sample.xls", ExcelVersion.Version97to2003); 28 } 29 } 30 }
3.看看效果
代码很简单,看看实际效果。2个地方,一个是文字,1个是新建的一个Sheet,默认的Excel文件是3个Sheet。
4.与微软Com操作和NPOI区别
目前来说使用微软com操作方式和NPOI组件是最普遍的,当然也有很多网友分享过使用商业组件的文章。本文前开头也已经介绍过了,微软com操作,最头疼的是依赖office,对环境要求挺大,很多人都是因为这个东西放弃了,而采用开源或者商业的,独立于Office环境的操作组件,例如NPOI,Spire等等。由于我没有使用过微软Office的com方式来操作过文档,所以在这里不做过多比较,重点比较我以前使用NPOI和现在这个Spire.XLS的一点区别。
1.NPOI在2.0版本(应该是2014年发布的)以后开始支持Office 2007版本的Excel,很多功能还相对较弱;对Office 2003的支持是比较完善的,我以前工作中也只用到2003;
2.Spire.XLS对Excel版本的支持就完善得多,上述也有说明,支持版本Office 2010/2013非常完善,这也是这次使用它的主要原因;
3.在以前使用NPOI 2.0之前的版本的时候,用NPOI做过很复杂的报表,但是有一个很深的感受,NPOI的命名空间比较多,而且比较难记,例如HSSF,POIFS,SS等等搞不懂啥意思,不够直观,所以经常是找不到在哪里,特别是后期维护的时候,要加点功能;
4.NPOI在对Excel生成图表的支持上不够,貌似2.0以前的版本根本就不行,现在新的版本我也没试过,不知道情况怎么样。我使用Spire.XLS的一个原因就是自动生成的报表里面要生成图表功能,这一点Spire.XLS支持非常好;
5.NPOI在功能上把握很准确,很核心,其实作为开源组件,已经非常好了。对与Excel文件的一些辅助操作,如文件格式转换,数据导出导入等等,Spire.XLS是好一点,当然这些通过NPOI的扩展也是可以完成的。
6.其他优缺点和使用的问题,在这个项目完成之后,有更加深入的对比,到时候再分享给大家吧,也欢迎大家补充。
5.资源
NPOI开源网站:http://npoi.codeplex.com/
Spire.Office官方免费版:http://www.e-iceblue.com/Introduce/free-xls-component.html
下一篇文章:【原创】.NET读写Excel工具Spire.Xls使用(2)Excel文件的控制 即将发布,敬请关注。
.NET读写Excel工具Spire.Xls使用(1)入门介绍相关推荐
- 【原创】.NET读写Excel工具Spire.Xls使用(4)对数据操作与控制
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...
- 【目录】C#操作Excel组件Spire.XLS系列文章目录
本博客所有文章分类的总目录链接:http://www.cnblogs.com/asxinyu/p/4288836.html 1.C#操作Excel组件Spire.XLS文章目录 1.[原创].NET读 ...
- NPOI写Excel,Spire.XLS for.NET组件转换Excel为PDF
首先要引用NPOI动态库和Microsoft.Office.Interop.excel.dll (Microsoft.Office.Interop.excel.dll 最好使用使用NuGet下载 , ...
- 读写Excel工具类ExcelUtil
突然要用到Excel的读写操作,自己写太过麻烦,在网上找了好久找到个还不错的工具类,怕自己忘掉,分享出来,也留个记录,以后可以直接拿来用. 这个工具类分三个部分: ExcelUtil.java // ...
- java读写Excel工具类
本项目采用maven工程,使用poi技术去读取excel表格. 所需jar包为: <!-- https://mvnrepository.com/artifact/org.apache.poi/p ...
- .NET Excel 组件Spire.XLS for .NET v9.7发布上线!支持将外部字体文件应用于图表!
Spire.XLS for .NET是一款专业的 .NET Excel 组件, 它可以用在各种 .NET 框架中,包括 .NET Core.ASP.NET 和 Windows Forms 等相关的 . ...
- 静态代码扫描工具(多种)简要入门介绍-SonarQube社区版-免费、TscanCode工具、PMD工具、flake8工具
SonarQube社区版-免费 适用语言:Java, C#, JavaScript, TypeScript, CloudFormation, Terraform, Kotlin, Ruby, Go, ...
- 国产Excel开发组件Spire.XLS【转换】教程(5):#/将特定工作表单元格转换为图像
本节旨在为开发人员提供详细的解决方案,了解如何通过 C#.VB.NET 中的 .NET Excel 组件 Spire.XLS 将特定的工作表单元格转换为图像.这个 Excel 库帮助我们快速将某些 E ...
- python pandas读取excel-Python使用Pandas读写Excel实例解析
这篇文章主要介绍了Python使用Pandas读写Excel实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Pandas是python的一个 ...
最新文章
- 2262: master(vector + dfs)
- SpeedyCloud研发总监李孟:不要让底层细节被上层打败
- Cocos Creator 获取当前URL取参数
- 利用过滤器(Filter)统一处理请与响应乱码
- JAVA 身份证号码的验证
- Google Arcore
- 自动化测试(AT)与探索性测试(ET)
- Call to a member function validate() on null
- API Gateway介绍
- java数字格式化为货币字符串_Java把数字格式化为货币字符串实例代码
- 在网站中使用一些字体是否会构成侵权?
- python爬取动态加载的网页之爬取猫眼电影实时票房
- 在MindMapper中怎样进行添加附件
- Styled-Components
- 个人项目——中小学数学卷子自动生成程序
- pytest的url参数化调用和预期结果参数化
- 华为手机,果然有顶级的产品经理 —— 手机克隆太好用了
- 微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人...
- GPRS上网!想上就上!
- char 类型用“+”号连接
热门文章
- 论网络营销在我国的发展
- 用 GStreamer 简化 Linux 多媒体开发
- python操作yaml的方法详解
- linux压缩一个文件的命令行,linux下用命令行解压缩文件
- matlab中的timer模块,[转载]Matlab中Timer的使用
- 7 个日常实用的 Shell 拿来就用脚本实例!
- 单片机如何使用?单片机只会用例程怎么办?
- JavaScript初学者编程题(25)
- flask中使用FileField上传文件的两种方式+前端页面上传文件(flask三种上传文件方式)
- poj1002(map的使用)