Spire.XLS for .NET 測评
究竟怎样呢?仅仅有亲測一下才干知道了。
(2)接口易用
(3)文档齐全
(4)easy集成和维护
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2h1aV9odWJlaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" height="336" width="448">
基于 Spire.XLS 的格式转换程序
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2h1aV9odWJlaQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" height="120" width="509">
以下是我编写这个demo的过程。假设你感兴趣能够继续往下看。
点击“转换”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.XLS for .NET 測评的更多相关文章
- C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有(二)
前言:上篇 C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有 介绍了下组件的两个功能,说不上特色,但确实能解决我们项目中的一些实际问题,这两天继续研究了下这个组件,觉得有些功能用 ...
- C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有
前言:最近项目里面有一些对Excel操作的需求,博主想都没想,NPOI呗,简单.开源.免费,大家都喜欢!确实,对于一些简单的Excel导入.导出.合并单元格等,它都没啥太大的问题,但是这次的需求有两点 ...
- 使用Free Spire.XLS插入图表
使用Free Spire.XLS插入图表 前言 最近在研究Office中间件,上网搜索了下,比较出名的有两个:Aspose和Spire,两者功能齐全,对Office的支持趋近完善,但售价不菲.仔细搜索 ...
- 利用免费的Spire.XLS控件制作Excel报表
我们小组上个季度接手了一个项目其中需要实现创建excel文档的功能,寻找实现这个功能的控件的任务分配给了我,通过百度搜索我找到了一个免费的控件,它是由E-iceblue公司推出的spire.xls控件 ...
- 使用SPIRE.XLS来创建Excel 工作簿
使用SPIRE.XLS来创建Excel 工作簿 概要 最近在研究 .NET 控件,使用这些控件在程序中可以快速低成本实现功能. 在这一篇中我们使用的控件是Spire.XL ...
- Office组件之Spire.XLS的DotNet操作
Overview 在项目中,我们经常需要将程序中获得的大量数据导出到Excel表格中,打印报表:进一步,还可能生成其折线图,对数据的变化趋势进行分析,从而更好地开展项目工作. 最近,我发现了一个对于D ...
- 【原创】.NET读写Excel工具Spire.Xls使用(1)入门介绍
在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式:这个方式非常累人,微软的东西总是这么的复杂,使用起来可能非常不便,需要安装E ...
- 【原创】.NET读写Excel工具Spire.Xls使用(2)Excel文件的控制
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...
- 【原创】.NET读写Excel工具Spire.Xls使用(3)单元格控制
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...
随机推荐
- android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 3
今天在写一个小项目的数据库部分的功能时,出现了一个这样的问题:java.lang.RuntimeException: Failure delivering result ResultIn ...
- MPMoviePlayerController导致statusBar消失,导致内存泄露leak
1.MPMoviePlayerController使statusBar消失 同事写项目时,运行程序总导致statusBar状态条消失,然后就是界面会上移20个像素,导致最下面空白界面,找原因一直不知道 ...
- POJ 2286 The Rotation Game 迭代搜索深度 + A* == IDA*
感觉这样的算法还是比較局限的吧,反复搜索是一个不好的地方,并且须要高效的估值函数来进行强剪枝,这点比較困难. 迭代搜索深度是一个比較炫酷的搜索方式,只是有点拿时间换空间的感觉. 首先迭代深度比較搓的写 ...
- c语言,gdb
Get gdb call stack http://blog.csdn.net/zoufeiyy/article/details/1490241 Debugging with GDB - Examin ...
- javascript面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
面向对象可以把程序中的关键模块都视为对象,而模块拥有属性及方法.这样我们如果把一些属性及方法封装起来,日后使用将非常方便,也可以避免繁琐重复的工作.接下来将为大家讲解在JS中面向对象的实现. 工厂 ...
- Android程序检测网络是否可用
在做Android应用程序中,连接网络的时候,常常要用到检测网络状态是否可用,在这里分享一个比较好用的方法. 本人参考:http://blog.csdn.net/sunboy_2050/article ...
- ubuntu 安装maven提示出错 The program 'mvn' can be found in the following packages
问题: I am trying to install apache maven 3 in Ubuntu 12.04 lts. What I did was open the terminal then ...
- ASP.NET - JQuery的.getJSON给Dropdownlist绑定Item
http://www.cnblogs.com/Mac_Hui/archive/2010/07/27/1785864.html 1.首先建立以个.ashx文件(Generic Handler),在此文件 ...
- ASP.NET - 跳转页面
1. Response.Redirect("../Manager/AddBookInfoImages.aspx?id=" + Server.UrlEncode(ReturnValu ...
- TCP/IP笔记 二.网络层(2)——ICMP,RIP,OSPF,BGP
1. ICMP ICMP (Internet Control Message Protocol) 作用:提高 IP 数据报交付成功的机会. 1.1 特点 ICMP 允许主机或路由器报告差错情况和提供有 ...