C#、filestream、streamwriter,html方式生成excel
1、切換單元格:/t
換行:/n
這種方法無法處理輸出資料中帶有/t/n的字串,也無法處理單元格內換行
至於合併單元格、居中、設定背景顏色、設定字型等,暫時沒找到解決方案
2、html方式
切換單元格:<td></td>
換行:<tr></tr>
單元格內換行:<table border='1' ><tr><td>第一行<br style='mso-data-placement:same-cell;'/>第二行<br style='mso-data-placement:same-cell;'/> 第三行</td><td></tr></table>
合併一行,設定居中,並設定背景色:<table border='1' align='center'><tr><td colspan='4' bgcolor=#A8BEC9>標題欄</td></tr></table>
背景色編碼可在網址http://ifukua.com/blogdaquan/html-color-codes/中進行嘗試找到
日期的處理:<table border='1'><td style=\"vnd.ms-excel.numberformat:yyyy/mm/dd HH:mm:ss.ms.000\"></td>
資料格式:<td xmlns:x=\"urn:schemas-microsoft-com:office:excel\">123456789012345</td>,這個我試了很多種方法,結果都是科學技術法,沒有用
補充:以上方法生成資料再重新匯入時,遇到很大麻煩。
1、資料不能修改,如果修改,資料檔案的程式碼就會發生變化。
比如,原本只想利用<table>輸出excel格式,結果修改資料後,檔案就自動變成了完整的html格式。這種改變還有一系列的後果,如原來的空值,就會變成全形空格,一些特殊符號比如>或者<就會轉碼輸出。
2、用htmlagilitypack進行解析匯入,特殊符號並不會轉碼回來,還需要自己解析。