1.因為報表已經在頁面上展現出來了,所以想能不能使用js直接將頁面的table給儲存到excel中,如果真能實現那還真討巧了。但是查了一下使用js好像都必須用到activex元件,也就限制了只能在ie下使用。否決。
2.為了相容大多數的瀏覽器貌似只能將生成工作放在伺服器端了。兩個問題。一,如何生成。二,生成了以後如何給使用者。總之想要既簡單又很好的到處excel也不是那麼簡單的一回事。不過嘛……有了myxls以後,一切就變得美好又簡單了。對於第乙個問題,我剛開始想直接寫字串,中間使用\t分隔。雖然這樣也能生成「偽excel」(暫時這麼叫吧)不過效果卻不好。不能控制單元格的樣式以及合併。也有一種方法是使用微軟的office元件,不過這要求你在伺服器上安裝了office,而且據說使用這種方法在程序釋放方面有問題。
myxls
myxls是用c#開源專案,可以應用於asp.net 或者 .net應用程式上。它根據微軟公開的excle文件格式檔案(biff),以二進位制格式直接生成excel文件,支援excel versions 97 - 2007。目前myxls已經實現了單元格(cell)的格式設定,包括文字顏色、文字大小、字型、單位格邊框、底色、列寬、行高,合併單元格,多個sheet頁等功能。
你可以在這裡找到myxls專案:
說完了介紹,我們再來說說如何使用。我做了乙個demo,希望可以幫助你更加直觀的了解如何使用myxls。下面一段**是demo中將datatable輸出為為excel的方法:
private xlsdocument datatableexporttoexcel(datatable datatable, string excelname, string sheetname)
else}}
return xls;
}
對於返回的xls變數,只需要使用
MyXls元件操作Excel報表 C
在後台呼叫 excel 元件,生成 excel 雖然可以 對excel 檔案進行 完全控制,可以生成任何複雜的格式,但是有個很大的缺點,這種方式會產生很多 excel程序 很難完全清 除掉,特別是在出錯的時候,c 寫的開源元件,並簡單說下 office2003 和以上版本支援的 xml格式。一 操作...
Excel匯出報表
excel匯出 function exportexcel 對應controller exportexcel?var param id serialize form表單的id 把建立的內容寫入到輸出流中,並關閉輸出流 workbook.write workbook.close os.close pub...
Excel 匯入匯出,統計報表 C
一 excel匯入的思路 1 先將xcel件上傳至伺服器指定的資料夾,然後使用oledb將excel中的資料轉化為對應datatable。2 然後對excel中的資料進行指定規則的檢查,不符合規定的資料一次性展示給使用者,方便使用者對資料進行統一的修改 公司內部稱之為匯入導航 3 將excel中對應...