天天看點

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)是允許你将父對象設定成為和一個或更多的他的子對象相等的技術,指派之後,父對象就可以根據目前指派給它的子對象的特 ...