aspose.cells html excel导出,用ASPOSE.Cells将HTML表格存为Excel

前端生成的html表格经常需要导出到excel中,利用JS和Office控件可以做到,但仅限于IE,还要启用安全设置。

想找一个简单的办法将HTML内容直接转换成Excel文件,如果直接修改网页头信息输出,虽然可以导出,但打开时会提示格式不是Excel的,怎样才能导出真正的Excel文件?

aspose.cells是个功能强大的控件,可以方便的生成excel文件。经考虑,将html发送到后台,保存为xls文件(其实是html内容),再用aspose.cells打开,输出到客户端,这样就变成了真正的excel文件了。

基本代码:

2 ddsf s
3 sfas f
5 ggg g
  fffg  
z f

function toExcel() {

if (!document.getElementById('div_div_div_1234567890')) {

$('body').append("

"

+ ""

+ "

"

+ ""

+ "

"

+ "

");

}

document.getElementById('input_input_input_1234567890').value = document.getElementById('table1').outerHTML;

document.getElementById('form_form_form_1234567890').action = "htmlTableToExcel.ashx"

document.getElementById('form_form_form_1234567890').submit();

}

htmlTableToExcel.ashx:

using System;

using System.Web;

using Aspose.Cells;

using System.IO;

using System.Text;

public class htmlTableToExcel : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

string table = context.Request["table"];

//test info

if (table == null || table == "")

{

table = @"

abc 123 这是测试信息
";

}

MemoryStream stream = new MemoryStream();

StreamWriter writer = new StreamWriter( stream );

writer.Write( table );

writer.Flush();

//加载选项,html,否则会出错

LoadOptions lo = new LoadOptions(LoadFormat.Html);

Workbook wb = new Workbook(stream, lo);

//输出到浏览器

wb.Save(context.Response, "output.xls", ContentDisposition.Attachment, new XlsSaveOptions(SaveFormat.Excel97To2003));

}

public bool IsReusable

{

get

{

return false;

}

}

}

以上为简单的测试代码,经检验可以生成excel文件,只是格式方面像边框、宽度什么的就没有了,合并单元格什么的能保留;要是要求不高就将就用着吧。

Aspose.Cells Smart markers 基于模板导出Excel

Aspose.Cells可以预先定义Excel模板,然后填充数据(官方文档:http://www.aspose.com/docs/display/cellsjava/Smart+Markers). 设 ...

c#使用aspose.cells 从datatable导出数据到excel

string json=value.Value; DataTable dt=Utils.JsonDataTableConvert.ToDataTable(json); string fileName ...

C# 读写Excel的一些方法,Aspose.Cells.dll

需求:现有2个Excel,一个7000,一个20W,7000在20W是完全存在的.现要分离20W的,拆分成19W3和7000. 条件:两个Excel都有“登录名”,然后用“登录名”去关联2个Excel ...

Aspose Cells 添加数据验证(动态下拉列表验证)

参考 :http://www.componentcn.com/kongjianjishu/kongjianjishu/2015-06-04/2781.html Aspose Cells是一款操作和处理 ...

C# Aspose.Cells方式导入Excel文件

读取Excel 类 我返回的是DataTable 类型 也可以返回DataSet类型 public class XlsFileHelper { public DataTable ImportExcel ...

常用类-Excel-使用Aspose.Cells插件

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xm ...

C#使用Aspose.Cells导出Excel简单实现

首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...

使用Aspose.Cells读取Excel

最新更新请访问: http://denghejun.github.io Aspose.Cells读取Excel非常方便,以下是一个简单的实现读取和导出Excel的操作类: 以下是Aspose.Ce ...

Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行

Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行 模版格式,图格式是最简单的格式,但实际效果不是这种,实际效果图如图2 图2 ,注意看红色部分,一对一是正常的,但是有一对多的订单 ...

随机推荐

UIRefreshControl

在iOS6中UITableViewController 已经集成了UIRefreshControl 控件.UIRefreshControl目前只能用于UITableViewController

C++混合编程之idlcpp教程Python篇(8)

上一篇在这 C++混合编程之idlcpp教程Python篇(7) 第一篇在这 C++混合编程之idlcpp教程(一) 与前面的工程相似,工程PythonTutorial6中,同样加入了四个文件:Pyt ...

selenium 3 对我们的影响

The major change in Selenium 3.0 is we're removing the original Selenium Core implementation and rep ...

C++中 :: 的意思

表示作用域,和所属关系 ::是运算符中等级最高的,它分为三种:1)global scope(全局作用域符),用法(::name)2)class scope(类作用域符),用法(class::name) ...

[原创] 初识Agile/CMMI/Scrum

一.背景介绍 在朋友(aehyok)的建议下,初步去了解Visual Studio Online,简称VS Online(即原来的 Team Foundation Service,简称TFS) VS ...

vs如何新建自己工程的环境变量(局部)和 Windows系统(全局).

来源:http://blog.csdn.net/jtop0/article/details/7574139        在vs2008的Project->Property设置里经常会看到类似$ ...

Myeclipse 8.5 优化设置

1.1 更改JavaScript文件默认编码 1.2 关闭Myeclipse不需要的启动项 1.3 取消Myeclipse自动更新 1.4 关闭Myeclipse自动验证 1.5 设置Myeclips ...

mysql SQL语法总结

mysql主键操作 删除表主键: alter table student drop primary key; 增加表主键: alter table student add primary key(id ...

python中的面向对象学习以及类的多态

接下来类的第三个重要的特性:多态(一种接口,多种实现) 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特 ...

你可能感兴趣的:(aspose.cells,html,excel导出)