2011年6月14日 星期二

轉貼 asp.net 產生MS-Word

主要因應公司有人的需求才開始找的,由ASP.NET 動態產生資料在直接由ms word 開啟

主要有幾點注意
  • a. 預設使用 ms word 開啟 ,
將 設為 ContentType="application/msword" , 其他還有很多種型態如 excel,pdf 等這裡就不贅述
  • b. 使用特殊符號
如□ , 我的作法是 將 ResponseEncoding="big5", utf-8 的話會亂碼, 此外內文也要加入 <meta http-equiv="Content-Type" content="application/msword; charset=big5" /> 不然一樣出現亂碼, 這邊應該和宣告範圍有關

  • c. 設定邊界,
內文中 ,設定 style , 記得要內容要放在 class = style1 的 div tag 中 ,參考[1]




<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=big5">
<title>Test Margin</title>
<style>
<!--
@page Section1 {size: 21.59cm 27.94cm;
mso-page-orientation:landscape;
margin: 1.5cm 1.48cm 1cm 1.5cm;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
mso-header:h1;
mso-footer:f1;
layout-grid:18.0pt;}
div.Section1 {page:Section1;}

</style>
</head>

<body>
<div class=Section1 style='layout-grid:18.0pt'>
Test Margin
</div>
</body>

</html>

連結


  • d.設定 header footer[2] ,
不過這方法 header 的字串會重複出現 最後一行


參考
[1] 請教 document.execCommand(藍色小舖)
[2] Hiding Header/Footer In ASP Generated Word Document (experts-exchange)

沒有留言: