.Net程序操作Excel文件的几种方法

Excel是一个应用广泛的办公软件,因此Excel文件也相应的流行,程序开发过程中常常需要处理Excel文件,下面介绍几种在DotNet平台下处理Excel文件的几种方法:

1、直接使用Excel组件模型

使用COM的方式调用Excel组件库中的各种组件,比如:Workbook、Worksheet、Range、Formula、Row、Cell等等。这种方式的优点是可以精确地控件Excel文档中的程序属性(文件格式、表格样式及公式与条件的使用等等),输出的文件也绝对是正确的;缺点:1、需要一个临时文件供Excel.exe访问,2、Excel.exe本身是以单机为基础设计的,不适合多人操作的应用程序(如,;Asp.net程序),因此会出现Excel进行无法释放的问题,导致服务器不稳定,3、在Asp.net程序中调用Excel程序需要较高的权限,会导致安全问题。这里是微软官方整理的问题汇总。

2、使用OLE DB Provider for Jet进行数据存取

通过Microsoft Jet OLE DB Provider引擎可以以SQL语句操作file-based database,比如Access、dBase及Excel等。缺点是与使用Excel组件模型一样需要一个临时的Excel文件,而且无法控制Excel内容样式、字段类型等。参考:http://www.codeproject.com/KB/office/excel_using_oledb.aspx?display=Print

3、使用Excel Reader/Writer开源组件

Excel Reader是一个发布在CodeProject.com上的一个DotNet组件,以C#代码实现,提供完整代码,同时进行了介绍及说明了使用方法。地址:http://www.codeproject.com/KB/office/ExcelReader.aspx?display=PrintExcel Writer也是发布在CodeProject.com上的一个DotNet组件,以C#代码实现,提供完整代码,同时进行了介绍及说明了使用方法。详情请看:http://www.codeproject.com/KB/office/biffcsharp.aspx?display=Print

4、使用NExcel开源组件

NExcel是从Java开源组件JExcelAPI移植到dotNet平台的,无需MS Office Excel就可以处理Excel97、2000、XP及2003文档。支持字体、公式。目前只能读取Excel文档,无法写入也不能读取图片。比较适合用于服务器端Asp.net导入Excel数据。

5、使用NPOI开源组件

NPOI是Java项目POI在.NET平台上的实现,功能较为强大,可以读写xls、doc、ppt文件。可以通过NPOI生成、读取各种Office文件,而无需引用Microsoft Excel/Word/PowerPoint ActiveX。参考文章:Creating Excel spreadsheets .XLS and .XLSX in C# by Leniel Macaferi (英文)在 Server 端存取 Excel 檔案的利器:NPOI Library(Traditional Chinese) (繁体中文)NPOI 1.2教程(简体中文)

也可以考虑使用第三方收费组件,比如Aspose的Excel Library(Aspose.Cells)。如果只是生成用于打印的Excel文档,可以参考这篇文章的作法。

6个基于Web的HTML编辑器

HTML编辑器是一种用来编辑HTML文本的组件,也称为可视化编辑器,或者富文本编辑器,用来让用户在浏览器中编辑文章内容。通常被使用在内容管理系统(CMS、Blog等)的时候,这里列出6个最流行或优秀的HTML编辑器:

1、FCKEditor/CKEditor

FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。它可和PHP、 JavaScript、ASP、ASP.NET、ColdFusion、Java、以及ABAP等不同的编程语言相结合。“FCKeditor”名称中的 “FCK” 是这个编辑器的作者的名字Frederico Caldeira Knabben的缩写。FCKeditor 相容于绝大部分的网页浏览器,比如: Internet Explorer 5.5+ (Windows)、Mozilla Firefox 1.0+、Mozilla 1.3+ 、Netscape 7+以及Opera浏览器。FCKeditor 的安装非常容易!最新版本可以在这里下载!所见即所得编辑器是很容易使用的工具!

CKEditor是新一代的FCKeditor,是一个重新开发的版本。CKEditor是全球最优秀的网页在线文字编辑器之一,因其惊人的性能与可扩展性而广泛的被运用于各大网站。
在线演示:http://ckeditor.com/demo

2、TinyMCE

TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,支持目前流行的各种浏览器,由JavaScript写成。功能配置灵活简单(两行代码就可以将编辑器嵌入网页中),支持AJAX。另一特点是加载速度非常快,如果你的服务器采用的脚本语言是 PHP,那还可以进一步优化。最重要的是,TinyMCE是一个根据LGPL license发布的自由软件,你可以把它用于商业应用。

3、HTMLArea

HTMLArea是一个非常不错的基于浏览器的可视化HTML编辑器,速度超快,功能一般, 文件不大, 支持是几种语言, 比较容易定制, 使用广泛,支持IE/Firefox/Mozilla等多种浏览器. 遵循BSD版权, 目前最新版是3.0.加载速度很快,界面如下:

4、eWebEditor

eWebEditor是基于浏览器的、所见即所得的在线HTML编辑器。她能够在网页上实现许多桌面编辑软件(如:Word)所具有的强大可视编辑功能。 WEB开发人员可以用她把传统的多行文本输入框textarea替换为可视化的富文本输入框,使最终用户可以可视化的发布HTML格式的 网页内容。

5、KindEditor

KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、 Firefox、 Chrome、Safari、Opera等主流浏览器。 KindEditor使用JavaScript编写,可以无缝的于Java、.NET、PHP、ASP等程序接合。 KindEditor非常适合在CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一。
主要特点

体积小,加载速度快,但功能十分丰 富。
内置自定义range,完美地支持span标记。
基于插件的方式设计,所有功能都是插件,增加自定义和扩展功能非常简单。
修改编辑器风格很容易,只需修改一个CSS文件。
支持大部分主流浏 览器,比如IE、Firefox、Safari、Chrome、Opera。

在线演示:http://kindsoft.net/demo.php

6、xhEditor

xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化XHTML编辑器,基于网络访问并且兼容IE 6.0-8.0、Firefox 3.0、Opera 9.6、Chrome 1.0、Safari 3.22。主要特点:

Small:初始加载5个文件,包括:1个js(36k)+2个css(6k)+2个图片(4k),总共46k。若js和css文件进行gzip压缩,可以进一步缩减为18k左右。
Fast:基于jQuery引擎开发,提供高效的代码执行效率。
Simple:简单的调用方式,加一个class属性就能将您的textarea立马变成一个功能丰富的可视化编辑器。
Word:实现Word代码自动检测并清理,提供高效完美的Word代码过滤方案,生成代码最优化精简,但是却不丢失任何细节效果。
UBB: 提供完美的UBB可视化编辑解决方案,在您获得安全高效代码存储的同时,又能享受可视化编辑的便捷。

多款Wordpress代码高亮插件

如果你的博客中经常要显示一些代码片段,应当考虑使用代码高亮插件了,这样撰写文章的时候会轻松很多,而且显示效果也会比较好。这里介绍几款Wordpress代码高亮插件。

Google Syntax Highlighter for WordPress

 基于Syntax Highlighter这个Javascript代码高亮库开发的。非常强,支持以纯文本方式浏览代码、快速复制和打印。首推这款。

Highlight Source Pro

 是一款服务器端的代码高亮插件,没有Javascript。强大、灵活且与XHTML兼容。

iG Syntax Hiliter  非常强大的代码语法高亮插件,支持多种代码语言,包括as, asp, c, cpp, csharp, css, delphi, html, java, js, mysql, perl, php, python, ruby, smarty, sql, vb, vbnet, xml, code。同时包含详细的后台设置项,比如以Plain Text方式看代码, 显示代码语言名称,是否高亮留言列表中的代码,是否显示行数等。

 它使用的是[tag]代码部份[/tag] 这样的方法渲染代码,比如 [php]代码片段[/php],考虑日后可能发生的更改和兼容问题的话,似乎不太适合。

WordPress Code Highlight

这是比较早的一款WordPress 代码高亮插件了。使用简单,功能也相对贫乏一些。适合要求不多的用户。

WP-CODEBOX

WP-CODEBOX 代码高亮插件是国人开发的,支持多种语言、代码下载、复制到剪贴板、代码框收放及后台默认属性设置。使用标准的<code></code>标签。

WP-Syntax

WP-Syntax 以<pre lang=”php”>代码内容 </pre>这种形式来实现代码高亮,即保留了标准的HTML标签,又实现了美化效果。可以说是兼容性最好。

另外GeShi是个PHP的开源代码高亮库,可以用来开发自己的代码高亮插件