有一位朋友推荐了我 Spire.Office (官网:http://www.e-iceblue.com/) —— 基于.NET的办公软件库,说不错。

究竟怎样呢?仅仅有亲測一下才干知道了。

前言
     网络上流传的 Office 库非常多。可谓“百家争鸣”,但有时候选择多了反而easy让人产生困惑。难以抉择。所以最能吸引程序猿的 Office 库一般都具有以下的长处:
(1)功能完整

(2)接口易用

(3)文档齐全

(4)easy集成和维护


     以下是 Spire.Office 官方提供的组件。其覆盖了一般的办公软件的开发需求,像 Word、Excel、ppt、Pdf等常见的电子文档的操作类库都能够在这里找到。

图 1  Spire.Office 提供的组件

     随安装包一起的帮助文档,也非常完整,唯一不足就是缺少对应的文字说明,只是也不影响使用。由于官方的在线教程(http://www.e-iceblue.com/Tutorials.html)实在是具体的“令人发指”,以下是官方的关于 Spire.XLS 库的在线教程(部分)。光看文件夹就已经非常清楚其提供的丰富功能了,每一个功能点都提供了详尽的文档说明和演示样例代码(C#/VB.NET),我以下写的demo程序也主要是參考了官方的在线教程。
   

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2h1aV9odWJlaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" height="336" width="448">

图 2  官方的在线教程


Spire.XLS 介绍
     Spire.Office 提供的组件非常丰富,但个人精力有限。仅仅能挑当中一个组建的部分功能进行測试。Excel在很多环境下都经常使用。这里就以Spire.XLS组件来測试下。
先看看 Spire.XLS 为我们提供了哪些功能:
(1)仅仅须要 Spire.XLS 组件就可以独立地完毕 Excel 文件的相关操作,不须要额外安装 Micosoft Office 软件。

(2)提供强大且高质量的 Excel 文件转换,包含常见的 PDF、HTML、XML、CSV、Image等
(3)创建Excel报表
(4)可自由编辑Excel工作表
(5)可在执行时方便的操作Excel单元和计算引擎
(6)还提供了图表、数据等方面的操作


基于 Spire.XLS 的格式转换程序

     以下是我编写的一个demo程序,能够完毕 Excel 文档的转换功能,编写这个程序的实际代码不足20行,10分钟就编写好了,这足以验证 Spire.XLS 的强大和易用。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2h1aV9odWJlaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" height="120" width="509">

图 3  Spire.XLS库转换功能測试程序


图 4  Spire.XLS 转换Test.xls后生成的文件

以下是我编写这个demo的过程。假设你感兴趣能够继续往下看。



1、下载 Spire.XLS 库,并安装(下载地址:http://www.e-iceblue.com/Introduce/free-xls-component.html)。

2. 在 VS2010 中新建一个 Windows Form Application 项目。


图 5  新建 C# Windows Form 程序

3. 在项目中加入对 Spire.XLS 库的引用。


图 6  加入对 Spire.XLS 库的引用(1)


                                图 7  加入对 Spire.XLS 库的引用(2)


图 8  新加入的引用

4. 设计窗口界面,例如以下(使用默认的改控件名)

图 9  測试程序界面

5. 加入实现代码,例如以下
    思路:点击“浏览”button时。弹出打开文件对话框选择源文件。默认转换的目标文件类型是PDF(由内部成员变量保存),切换不同目标文件类型时,更新内部标识目标文件类型的变量值。

点击“转换”button时,弹出保存文件对话框,待输入保存路径并确认后,调用 Spire.XLS 库完毕 Excel 文件格式的转换,同一时候保存到目标路径。以下是源码。因为代码不多就直接贴出来吧。

using System;
using System.Windows.Forms;
using Spire.Xls; namespace XSLTest
{
public partial class Form1 : Form
{
/// <summary>
/// 转换的目标文件类型
/// </summary>
private Spire.Xls.FileFormat fileFormat = FileFormat.PDF; public Form1()
{
InitializeComponent();
radioButton1.CheckedChanged += new EventHandler(radioButton_CheckedChanged);
radioButton2.CheckedChanged += new EventHandler(radioButton_CheckedChanged);
radioButton3.CheckedChanged += new EventHandler(radioButton_CheckedChanged);
radioButton4.CheckedChanged += new EventHandler(radioButton_CheckedChanged);
radioButton5.CheckedChanged += new EventHandler(radioButton_CheckedChanged);
radioButton6.CheckedChanged += new EventHandler(radioButton_CheckedChanged); } /// <summary>
/// 选择源文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Filter = "Micosoft Excel 97/2000/XP/2003 文件(*.xls)|*.xls"
+ "|" + "Micosoft Excel 2007/2010 文件(*.xlsx)|*.xlsx";
if (fileDialog.ShowDialog() == DialogResult.OK)
{
textBox1.Text = fileDialog.FileName;
}
} /// <summary>
/// 转换源文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
// 源文件路径
string sourceFilePath = textBox1.Text; SaveFileDialog saveFileDialog = new SaveFileDialog();
switch (fileFormat)
{
case FileFormat.Bitmap:
saveFileDialog.Filter = "Bitmap(*.bmp)|*.bmp";
break;
case FileFormat.PDF:
saveFileDialog.Filter = "PDF Document(*.pdf)|*.pdf";
break;
case FileFormat.ODS:
saveFileDialog.Filter = "OpenOffice Document Spreadsheet(*.ods)|*.ods";
break;
case FileFormat.CSV:
saveFileDialog.Filter = "CSV(*.csv)|*.csv";
break;
case FileFormat.XML:
saveFileDialog.Filter = "XML(*.xml)|*.xml";
break;
case FileFormat.XPS:
saveFileDialog.Filter = "XPS(*.xps)|*.xps";
break;
default:
break;
}
saveFileDialog.FilterIndex = 0;
if (saveFileDialog.ShowDialog() != DialogResult.OK)
return;
// 转换后的目标文件路径
string destFilePath = saveFileDialog.FileName; // 转换
Workbook workbook = new Workbook();
workbook.LoadFromFile(sourceFilePath);
workbook.SaveToFile(destFilePath, fileFormat);</span> MessageBox.Show("转换完毕", "消息", MessageBoxButtons.OK, MessageBoxIcon.Information);
} private void radioButton_CheckedChanged(object sender, EventArgs e)
{
System.Windows.Forms.RadioButton radioButton = sender as System.Windows.Forms.RadioButton;
if (radioButton == null)
return;
switch (radioButton.Text.ToUpper())
{
case "BITMAP":
fileFormat = FileFormat.Bitmap;
break;
case "PDF":
fileFormat = FileFormat.PDF;
break;
case "ODS":
fileFormat = FileFormat.ODS;
break;
case "XPS":
fileFormat = FileFormat.XPS;
break;
case "XML":
fileFormat = FileFormat.XML;
break;
case "CSV":
fileFormat = FileFormat.CSV;
break;
default:
break;
}
}
}
}


6 程序的公布

      基于 Spire.XLS 的程序公布非常easy,仅仅须要将对应的dll(能够在Spire.XLS的安装文件夹下找到)文件复制到和可运行程序同样文件夹。



图 10  程序的公布

最后附上源码和可运行的demo程序的下载地址:http://www.kuaipan.cn/file/id_123106879533606129.htm


总结
     以上測试仅仅是Spire.Office的“冰山一角”。很多其它强大易用的功能,能够參考官方在线教程,当然假设是你感兴趣的话。
     关于电子文档操作的类库如今非常多,但像Spire.Office这种功能齐全、接口易用、文档丰富的类库较少,Spire.Office后面有商业公司做支撑。相信然后还会更好。

假设项目有类似需求,像高速低成本集成类似功能,能够考虑Spire.Office

Spire.XLS for .NET 測评的更多相关文章

  1. C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有(二)

    前言:上篇 C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有 介绍了下组件的两个功能,说不上特色,但确实能解决我们项目中的一些实际问题,这两天继续研究了下这个组件,觉得有些功能用 ...

  2. C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有

    前言:最近项目里面有一些对Excel操作的需求,博主想都没想,NPOI呗,简单.开源.免费,大家都喜欢!确实,对于一些简单的Excel导入.导出.合并单元格等,它都没啥太大的问题,但是这次的需求有两点 ...

  3. 使用Free Spire.XLS插入图表

    使用Free Spire.XLS插入图表 前言 最近在研究Office中间件,上网搜索了下,比较出名的有两个:Aspose和Spire,两者功能齐全,对Office的支持趋近完善,但售价不菲.仔细搜索 ...

  4. 利用免费的Spire.XLS控件制作Excel报表

    我们小组上个季度接手了一个项目其中需要实现创建excel文档的功能,寻找实现这个功能的控件的任务分配给了我,通过百度搜索我找到了一个免费的控件,它是由E-iceblue公司推出的spire.xls控件 ...

  5. 使用SPIRE.XLS来创建Excel 工作簿

               使用SPIRE.XLS来创建Excel 工作簿     概要 最近在研究 .NET 控件,使用这些控件在程序中可以快速低成本实现功能. 在这一篇中我们使用的控件是Spire.XL ...

  6. Office组件之Spire.XLS的DotNet操作

    Overview 在项目中,我们经常需要将程序中获得的大量数据导出到Excel表格中,打印报表:进一步,还可能生成其折线图,对数据的变化趋势进行分析,从而更好地开展项目工作. 最近,我发现了一个对于D ...

  7. 【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍

    在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装E ...

  8. 【原创】.NET读写Excel工具Spire.Xls使用(2)Excel文件的控制

                  本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...

  9. 【原创】.NET读写Excel工具Spire.Xls使用(3)单元格控制

                  本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...

随机推荐

  1. 基于visual Studio2013解决算法导论之009快速排序随机版本

     题目 快速排序随机版本 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> ...

  2. linux下shutdown无法关闭tomcat进程的解决方式

    1.问题 笔者在linux下发现使用tomcat6.0.41自带的./shutdown.sh常常无法停止进程,导致各种问题的发生,令笔者相当反感! 2.解决方式一: 查找到全部的tomcat进程 $ ...

  3. [置顶] CopyU!v2插件合集 [2013年7月18日更新]

    这里提供了所有可供CopyU!v2使用的功能插件,您可以根据自己的需要下载安装使用,需要提醒您的是,安装过多的插件会影响CopyU!的运行性能,请合理的安装使用! 1.打包插件 版本:1.0.12.1 ...

  4. ModelConvertHelper(将DataTable转换成List<model>)

      public class ModelConvertHelper<T> where T : new() {      public static IList<T> Conve ...

  5. 『WPF』DataGrid的使用

    原文 『WPF』DataGrid的使用 几点说明 这里主要是参考了MSDN中关于DataGrid的说明 这里只会简单说明在WPF中,DataGird最简单的使用方法 对于MSDN中的翻译不会很详细,也 ...

  6. (step 8.2.8)hdu 1079(Calendar Game)

    题目大意是: 两个家伙在区域赛前夕闲的无聊,然后玩一种无限纠结的游戏,随即给定一个日期,每次只能移动day OR month.......... 而且如果下一个月没有当前day的话, 你就不能移动mo ...

  7. java假设模拟请求重新启动路由器(网络爬虫经常使用),还有java怎样下载图片

    我们假设在公司或家里使用网络爬虫去抓取自己索要的一些数据的时候,经常对方的站点有defence机制,会给你的http请求返回500错误,仅仅要是同样IP就请求不到数据,这时候我们仅仅能去重新启动路由器 ...

  8. shadow dom

    初识shadow dom 我们先看个input="range"的表现: what amazing ! 一个dom能表现出这么多样式嘛? 无论是初学者和老鸟都是不肯相信的,于是在好奇 ...

  9. URAL 1018 (金典树形DP)

    连接:1018. Binary Apple Tree Time limit: 1.0 second Memory limit: 64 MB Let's imagine how apple tree l ...

  10. Eclipse完美汉化教程

    首先我们打开http://www.eclipse.org/babel/downloads.php下载语言包. 方法一:可以复制图片里的地址通过Eclipse下载,Help→Install New So ...