Spire.XLS for .NET 測评

     有一位朋友推荐了我 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程序也主要是參考了官方的在线教程。
    
图 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 的强大和易用。

图 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

转载于:https://www.cnblogs.com/lcchuguo/p/5118952.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Free Spire.XLS for .NETSpire.XLS for .NET 的免费版本,无需购买即可用于个人或商业用途。使用 Free Spire.XLS for .NET,开发人员可以在 .NET 应用程序中快速对 Excel 文档进行各种编程操作,如根据模板创建新的 Excel 文档,编辑现有 Excel 文档以及对 Excel 文档进行转换等。Free Spire.XLS for .NETSpire.XLS for .NET 的免费版本,无需购买即可用于个人或商业用途。使用 Free Spire.XLS for .NET,开发人员可以在 .NET 应用程序中快速对 Excel 文档进行各种编程操作,如根据模板创建新的 Excel 文档,编辑现有 Excel 文档以及对 Excel 文档进行转换等。 主要功能如下: 1.100% 独立的 .NET 组件,无需 Microsoft Office Automation 2.强大的,高质量的 Excel 文件转换功能。支持将 Excel 文档快速高效地转换为多种常见的格式,如 XML,Text,PDF 和图片等。 3.使用全面的工作簿设计器创建 Excel 报表。支持开发人员新建 Excel 工作簿,从文件流或文件夹加载工作簿。还可以将工作薄保存到磁盘, 文件流或 Web Response,同时提供了多种安全功能,包括 Excel 加密/解密,单元格隐藏/取消隐藏,工作表锁定/解锁。 4.自由操作工作表。允许开发人员使用 C#、VB.NET 或 ASP.NET 来创建、添加、删除、重命名、编辑和移动工作表,开发人员还可以在多个充满数据的工作表之间进行复制、调换和合并操作。这个专业的 .NET Excel 类库嵌入了很多灵活显示工作表的选项,包括分页符,缩放设置,冻结窗口,页眉/页脚,打印 Excel 文件,打印页面尺寸和打印区域等。 5.在运行时轻松操作单元格和 Excel 计算引擎。开发人员可以在运行时使用 C#、VB.NET 或 ASP.NET 轻松地操作 Excel 单元格,计算公式值。该高速、可扩展的 Excel 计算引擎与 Excel 97-2003/2007/2010 等兼容。同时该组件支持设置单元格样式,如单元格的合并/拆分,文字环绕/取消环绕,文本排列和旋转、边框、锁定/解除等。字体格式,如设置字体类型、大小、颜色、粗体、斜体、删除线、下划线等等。条件格式,文本搜索和替换,过滤和数据验证等操作都可以轻松的应用到单元格中。 6.图表、数据和其它元素。提供了一组丰富的图表,如饼状图,条形图,柱形图,折线图和雷达图等。此外,它支持使用 C#、VB.NET 或 ASP.NET 在数据库和 Excel 之间进行数据传输,支持超链接和模板,支持创建和获取数据透视表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值