Spire.Office组件使用例子
2016-04-27 16:23
330 查看
用.NET开发程序通常要涉及到对Office文件读写操作,比较常见的操作比如提取文本,导出Excel格式数据,动态生成word文档,生成pdf文档等。
实现这些功能通常需要在服务端安装office软件,然后通过调用com组件或者oledb的方式访问数据,这是比较重的使用方式,毕竟需要在服务器上安装一个office软件。
相对比较轻量级的是使用OpenXML,需要遵循OpenXML文档规范,动态生成对应格式的xml文件。OpenXML相对比较基础,需要较深入的学习相关的API。
为了简化相关功能开发,最近了解到一款提供给开发人员使用的Office编程组件——Spire.Office,其API接口有点类似于OpenXML,同样也是不需要安装office软件,但是提供更加简便的实现方式。
这个组件涵盖了Office开发中涉及的大部分功能点,涵盖了对Word、Excel、PPT、PDF等文件的读写、编辑、查看功能,同时也提供了条形码生成和扫描的功能,整体功能比较完整,在office开发领域这块看起来无所不能。
官方网站提供了非常详细的文档说明以及使用Demo,难得看到这么详尽的API文档介绍,非常用心的一款产品,详情可点击查看http://www.e-iceblue.com/Tutorials.html
引入方式
引入该组件的方式可以通过下载完整安装包(http://www.e-iceblue.com/downloads/pack/spire.office_2.13.zip)或者通过nuget的方式引用。
个人比较偏向于使用nuget包,在nuget上搜索Spire会列出大概有22个结果,其中第一个package,Spire.Office for .NET是一个完整的组件包,包含了Spire.Office组件的所有功能,当然文件大小也是很大的。
后面的包是针对单个功能的,适用于只需要用到某个功能的情景。
CreatePdf
生成文档效果,同样也是毫无违和感的被插入了评估版的提示。这里看到使用的是英文内容,因为目前测试评估版输入中文生成文档会显示为乱码,还没找到设置编码的方式
完整代码下载
小结
这个组件还是能覆盖到我们日常开发涉及到调用Office的功能,基于这个组件的API还能做更多高级的文档操作功能,实现对office文档进行一些深度的开发时不成问题的。
免费版的目前也就仅仅够体验一下,付费后的功能会强大很多,但是付费版的性价比不是很高,具体收费可以到官网查看
实现这些功能通常需要在服务端安装office软件,然后通过调用com组件或者oledb的方式访问数据,这是比较重的使用方式,毕竟需要在服务器上安装一个office软件。
相对比较轻量级的是使用OpenXML,需要遵循OpenXML文档规范,动态生成对应格式的xml文件。OpenXML相对比较基础,需要较深入的学习相关的API。
为了简化相关功能开发,最近了解到一款提供给开发人员使用的Office编程组件——Spire.Office,其API接口有点类似于OpenXML,同样也是不需要安装office软件,但是提供更加简便的实现方式。
这个组件涵盖了Office开发中涉及的大部分功能点,涵盖了对Word、Excel、PPT、PDF等文件的读写、编辑、查看功能,同时也提供了条形码生成和扫描的功能,整体功能比较完整,在office开发领域这块看起来无所不能。
官方网站提供了非常详细的文档说明以及使用Demo,难得看到这么详尽的API文档介绍,非常用心的一款产品,详情可点击查看http://www.e-iceblue.com/Tutorials.html
引入方式
引入该组件的方式可以通过下载完整安装包(http://www.e-iceblue.com/downloads/pack/spire.office_2.13.zip)或者通过nuget的方式引用。
个人比较偏向于使用nuget包,在nuget上搜索Spire会列出大概有22个结果,其中第一个package,Spire.Office for .NET是一个完整的组件包,包含了Spire.Office组件的所有功能,当然文件大小也是很大的。
后面的包是针对单个功能的,适用于只需要用到某个功能的情景。
using (var document = new PdfDocument()) { PdfPageBase page = document.Pages.Add(); var font = new PdfFont(PdfFontFamily.Helvetica, 13f); var brush = PdfBrushes.Black; var location = new PointF(20, 20); page.Canvas.DrawString(model.Title, font, brush, location); foreach (var paragraph in model.Paragraphs) { location.Y += 10; page.Canvas.DrawString(paragraph, font, brush, location); } var ms = new MemoryStream(); document.SaveToStream(ms, Spire.Pdf.FileFormat.PDF); ms.Position = 0; return File(ms, "application/pdf", model.FileName + ".pdf"); }
CreatePdf
生成文档效果,同样也是毫无违和感的被插入了评估版的提示。这里看到使用的是英文内容,因为目前测试评估版输入中文生成文档会显示为乱码,还没找到设置编码的方式
完整代码下载
小结
这个组件还是能覆盖到我们日常开发涉及到调用Office的功能,基于这个组件的API还能做更多高级的文档操作功能,实现对office文档进行一些深度的开发时不成问题的。
免费版的目前也就仅仅够体验一下,付费后的功能会强大很多,但是付费版的性价比不是很高,具体收费可以到官网查看
相关文章推荐
- 解决Gradle DSL method not found: ‘android()’
- MongoDB
- 计算机图形学(二)输出图元_6_OpenGL曲线函数_4_中点椭圆算法(下)
- 删除数据,从尾巴开始
- 安装centos6.6时卡在selinux-policy-targeted
- HTML5定位系列_单次定位请求
- LeetCode_OJ【78】Subsets
- 从低水池抽水到高位水池的无线水位及水泵联控装置
- C# MVC模式下商品抽奖功能实现
- JS 浮点型数字运算
- Android开源项目SlidingMenu深入剖析
- 怎样查看oracle当前的连接数
- 剑指offer(37):数组中的逆序对
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较
- Hibernate 二级缓存 Snappy 报错,提示 maxCompressedLength(I)I
- 浅析巧用Ajax的beforeSend提高用户体验
- 软工之白盒测试的6种逻辑覆盖
- zabbix 监控目录大小
- 多位数乘一位数
- 与栈结合的二叉树遍历(c语言)