.NET读写Excel工具Spire.Xls使用入门教程(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.NET读写Excel⼯具Spire.Xls使⽤⼊门教程(1)
在.NET平台,操作Excel⽂件是⼀个⾮常常⽤的需求,⽬前⽐较常规的⽅法有以下⼏种:
1.Office Com组件的⽅式:这个⽅式⾮常累⼈,微软的东西总是这么的复杂,使⽤起来可能⾮常不便,需要安装Excel,对于服务器,有时候还需要为配置IIS权限。

折腾⼈,看到很多⼈在群⾥⾯使⽤这个东西,出现各种抓狂的错误;
这⾥特别感谢:的回复,⽤⽤powershell + excel 2007的⽅式,他很好的解决问题。

其实我想说的是,Office既然提供了对com组件的⽀持,肯定是各⽅⾯问题都考虑到了,使⽤肯定是没有问题的,只不过学习成本很⼤,每个⼈精⼒,技术能⼒有限,懒得去折腾和再去学习,解决的⽅式肯定都是有的。

⽽纯粹的NPOI,Spire这种操作⽅式可以让更多的开发⼈员快速的掌握,效率提⾼,各有所长吧,看⾃⼰的选择。

另外对于免费版本的限制和收费的问题,这个暂时没有办好,⼤家⼋仙过海各显神通把。

哈哈,你懂的。

2.开源.NET组件NPOI⽅式:这个⽅式应该是很多⼈都在使⽤的,这个开源的组件相⽐第⼀种,虽然稍微简单了点(2003⽀持⽐较好,新版本也⽀持Xlsx),但还是⾮常好⽤的;最近在浏览NPOI的开源⽹站的时候,突然发现Spire居然是NPOI的赞助商。

赞⼀个吧,互相帮助,服务⼤众,不像国内的什么百毒,企鹅,⼀天到晚打架,互抨,还要封杀,真是可怜啊。

看看NPOI的Codeplex⽹站截图:
今天给⼤家介绍的.NET平台操作Excel组件Spire.XLS,应该来说⽐上⾯2种⽅法要更好更稳定,功能也更多,先看看基本介绍:
1.Spire.Office for .NET
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的成员列表:
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。

代码⾮常简单,有注释。

using System;
using Spire.Xls;//这是⼀个最主要的命名空间
namespace XlsTest
{
class Program
{
static void Main(string[] args)
{
HelloExcel();
Console.ReadLine();
}
static void HelloExcel()
{
//创建1个⼯作簿,相当于1个Excel⽂件
//Excel的⽂档结构是 Workbook->Worksheet(1个book可以包含多个sheet)
Workbook workbook = new Workbook();
//获取第⼀个sheet,进⾏操作,下标是从0开始
Worksheet sheet = workbook.Worksheets[0];
//当然你也可以⾃⼰添加1个命名的Worksheet到book中
workbook.Worksheets.Add("测试sheet");
//向A1单元格写⼊⽂字
sheet.Range["A1"].Text = "Hello,World!";
//将Excel⽂件保存到指定⽂件,还可以指定Excel版本
workbook.SaveToFile("Sample.xls", ExcelVersion.Version97to2003);
}
}
}
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.资源
下⼀篇⽂章:【原创】.NET读写Excel⼯具Spire.Xls使⽤(2)Excel⽂件的控制即将发布,敬请关注。

以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

相关文档
最新文档