最近在做一個項(xiàng)目,項(xiàng)目要求把前臺報表導(dǎo)出成Excel,并且保留前臺報表的樣式。
網(wǎng)上的幾種解決方案:
1:使用Excel Api 在服務(wù)器端生成Excel,通過網(wǎng)絡(luò)傳輸給前臺Web頁面。
于是嘗試著在MSDN上找資料,通過worksheet之類的東西總算在VS下成功運(yùn)行了。
于是嘗試在IIS下運(yùn)行,結(jié)果失敗,想想看,VS下使用的是系統(tǒng)帳戶,iis默認(rèn)的帳戶權(quán)限不足,當(dāng)然了,可以在web.config文件中修改。
2:生成類似
1
<?xml version="1.0"?>
2
<?mso-application progid="Excel.Sheet"?>
3
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
4
xmlns:o="urn:schemas-microsoft-com:office:office"
5
xmlns:x="urn:schemas-microsoft-com:office:excel"
6
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
7
xmlns:html="http://www.w3.org/TR/REC-html40">
8
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> 這樣的代碼,Excel就認(rèn)識了?。
問題來了“Excel怎么認(rèn)識這種東西?”
打開任一一個Excel,選擇另存為,其他格式,發(fā)現(xiàn)唯一能形成這種代碼的只有一種格式:“xml電子表格2003”
思考,是不是其他的Office,比如Word,powerpoint都可以這樣呢?
發(fā)現(xiàn)絕大部分都有"電子表格2003"這種格式,估計微軟專門提供了這種功能。
嘗試編輯Excel,并設(shè)置樣式,你可以發(fā)現(xiàn)。xml中的內(nèi)容會發(fā)生相應(yīng)的更改。