开源Excel库

简介: 原文http://www.cnblogs.com/xiwang/archive/2012/04/01/2428874.html   一,  需要在Silverlight中导出Excel文件,累死了N个脑细胞,忙活了数天,终于是搞定了,哈哈。
+关注继续查看

原文http://www.cnblogs.com/xiwang/archive/2012/04/01/2428874.html

 

一,  需要在Silverlight中导出Excel文件,累死了N个脑细胞,忙活了数天,终于是搞定了,哈哈。

  很常见的方法就是,在Silverlight中提升浏览器的信任级别,直接调用COM+组件导出EXCEL文件。

    dynamic excel = AutomationFactory.CreateObject("Excel.Application");
    dynamic workbook = excel.WorkBooks;
    workbook.Add();
    dynamic sheet = excel.ActiveSheet;

    dynamic _cell = sheet.Cells[Row, Col];
    _cell.Value = "HELLO WORLD,xiwang";

    SvaeFileDialog sfd=new SaveFileDialog();

    var result=sfd.ShowDialog();

    if (result ?? false)

      using (var stream =sfd.OpenFile())

        excel.Save(stream);

    //其他的如:合并单元格,字体,背景色,边框等等。网上遍地都是我就不再废话了。

  在用这种方法实现后,结果吐血:导出的速度堪比龟速,下流至极。

      别无他法另想办法:开源库,纠结几次后,总与找到了一个Silverlight可用的库:MyXLS(神一般的到处速度)。

    

    XlsDocument xls = new XlsDocument();  
    string sheetName = "HELLO WORLD, xiwang ";
    Worksheet sheet = xls.Workbook.Worksheets.Add(sheetName);
    Cells cells = sheet.Cells;
    cells.Add(1,1,"xiwang ,Cool!");

    SvaeFileDialog sfd=new SaveFileDialog();

    var result=sfd.ShowDialog();

    if (result ?? false)

      using (var stream =sfd.OpenFile())

        xls.Save(stream);

二,开源库小结:

一, MyXls(现在有Silverlight版本)

下载地址:http://sourceforge.net/projects/myxls/

MyXls支持Office Excel 97-2003格式(Biff8格式),但目前并不支持formula即公式;网上流传的支持2007是错误的说法。

使用它还需要注意的是,它与Office PIA一样,索引号是从1开始的。

另外不得不说的是,它的构造函数、Save方法、属性中的FileName让人看的眼花瞭乱,无所适从呐-_-。
二,Koogra

下载地址:http://sourceforge.net/projects/koogra/

Koogra支持Office 97-2003(Biff8)以及Office 2007以上(Xlsx)格式,但它仅提供读取功能,没有相关的创建Excel功能;另需要注意它的索引号又是从0开始的。

我在几台机器上测试不太稳定,即有的机器直接不能运行,没有深究什么问题。
三,ExcelLibrary

下载地址:http://code.google.com/p/excellibrary/

听说这是国人开发的,目前支持97-2003(biff8)格式,未来可能会支持xlsx格式。它使用二维数组的方式来操作,这种方式比较接近Office PIA,另外,它的索引号是从0开始的。

在测试时,创建出的Excel有时内容是空的,可能存在bug。
ExcelPackage与EPPlus

ExcelPackage下载地址:http://excelpackage.codeplex.com/

EPPlus下载地址:http://epplus.codeplex.com/

ExcelPackage它主要支持OOXML即Office Open XML标准,Office 2007以上XLSX格式的读写;但它不支持对流的操作,仅支持对实体文件的操作。

EPPlus全称应该是ExcelPackage Plus,即ExcelPackage的增强版,它在ExcelPackage的基础上,增强了许多功能包括对流、Linq的支持,可以说相当不错。
四,.NET版的POI NPOI
下载地址:http://npoi.codeplex.com/releases/view/19351
NPOI 是 POI 项目的 .NET 版本。POI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。

使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。
五,Silverlight ExcelLite
ExcelLite下载地址:http://excellite.codeplex.com/
可以在没有安装MS Office环境下,写入excel 2003,库使用二进制格式读写数据,支持图片添加等。据我当前所知,该库对合并单元格,设置边框等等支持不好。不支持xlsx格式,但是读写速度很快,小巧可以尝试下。

作者:墨梅
欢迎任何形式的转载,但请务必注明出处。
目录
相关文章
|
1月前
|
存储 Java 数据挖掘
探索EasyPoi库:简化Excel操作的神器
在企业应用和数据处理中,Excel表格是常用的数据交换和存储方式。然而,处理和操作Excel表格可能是一项繁琐的任务。EasyPoi库作为一款优秀的Excel操作工具,可以帮助我们更轻松地进行Excel文件的读写、导入导出等操作。本文将深入探讨EasyPoi库的基本概念、特点,以及如何在实际应用中使用它进行Excel操作。
45 0
|
2月前
|
easyexcel Java API
Java开发篇 - 使用alanpoi实现excel的导入导出(短短几行代码就可以)
短短几行代码就可以, 使用alanpoi实现excel的导入导出
125 0
|
10月前
|
Java 数据库
Java实现导入excel文件的解决方案
Java实现导入excel文件的解决方案
214 0
Java实现导入excel文件的解决方案
|
XML Java 程序员
C#项目中操作Excel文件——使用NPOI库
C#项目中操作Excel文件——使用NPOI库
295 0
C#项目中操作Excel文件——使用NPOI库
|
开发框架 应用服务中间件 PHP
phpExcel:Excel数据导入导出最佳实战
PHP如何导入带图片的Excel表格呢?图片又如何导出到Excel中呢?导出的Excel如何定义样式使其更加漂亮?带着这些问题开始本文的分享。
305 0
phpExcel:Excel数据导入导出最佳实战
|
API 开发工具 Python
xlwings库 | Excel与Python的完美结合(附使用文档)
xlwings库 | Excel与Python的完美结合(附使用文档)
1410 0
xlwings库 | Excel与Python的完美结合(附使用文档)
|
边缘计算 算法 Java
Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库
Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库。2022年4月11日,社区正式发布了 2.6.0 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。下面是有关该版本更新内容的摘要。
174 3
Excelize 发布 2.6.0 版本,功能强大的 Excel 文档基础库
|
Python
Python 技术篇 - 用xlrd库和xlwt库操作excel,对excel进行读取和写入实例演示
Python 技术篇 - 用xlrd库和xlwt库操作excel,对excel进行读取和写入实例演示
140 0
Python 技术篇 - 用xlrd库和xlwt库操作excel,对excel进行读取和写入实例演示
|
缓存 easyexcel Java
阿里开源的这个库,让 Excel 导出不再复杂(简简单单的写)
导出是中后台常见的功能,Excel文件是常见的导出格式。
1761 0
阿里开源的这个库,让 Excel 导出不再复杂(简简单单的写)
|
边缘计算 测试技术 BI
Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档
Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档
536 3
Excelize 2.3.1 发布,Go 语言 Excel 文档基础库,支持加密表格文档