How can we display table border on a Open Office Calc sheet thro HTML?
私たちのものは ASP.NET Web アプリケーションです。サーバーに保存せずに、オンザフライで Calc を生成し、それをクライアント (ブラウザー) に送信しています。そのために、Response オブジェクトを介して HTML コードを生成し、ブラウザーに送信しています。Content-Type が「application/vnd.sun.xml.calc」に設定されているため、ブラウザはこれを添付ファイルとして扱い、Open Office は HTML コードをレンダリングします。しかし、Calc スプレッドシートで表の境界線を表示するのに問題があります。注意として、添付ファイルの種類が MS Excel の場合、これは正常に機能します。気づいたのですが、Calc はすべての HTML タグをサポートしているわけではありません。この点で、応答オブジェクトの HTML コンテンツを介して Calc で表の境界線を表示する方法を知りたいです。
以下はコードスニペットです
protected void Page_Load(object sender, EventArgs e)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=Sample.sxc");
HttpContext.Current.Response.Charset = "";
HttpContext.Current.Response.ContentType = "application/vnd.sun.xml.calc";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
StringBuilder style = new StringBuilder();
style.Append(@"<style> ");
style.Append(@" .text { mso-number-format:\@; } ");
style.Append(@" .num { mso-number-format:\#\,\#\#0\.00; } ");
style.Append(@" .intg { mso-number-format:\#\,\#\#0; } ");
style.Append(@" .date { mso-number-format: 'Short Date'; } ");
style.Append(@" .date { mso-number-format: 'dd\/mm\/yyyy'; } ");
style.Append(@"</style>");
HttpContext.Current.Response.Write(style.ToString());
string s = @" <TABLE BORDER=""1"">
<TR>
<TD> <P> <U> <B> For Testing </B> </U> <BR> Generated By Sameer Bondasgfgzff </BR> </P>
</TD>
</TR>
<TR>
<TD width=""100px""> Sameer </TD>
</TR>
<TR> <TD width=""100px""> Srinivas </TD>
</TR>
</TABLE>"
;
HttpContext.Current.Response.Output.Write(s);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
}
わからなかったので、ボーダー付きのCalcシートを明示的に作成してみました。ただし、それを .HTML として保存すると、書式設定が乱れるという警告メッセージが表示されます。それを抑制して .HTML として保存すると、保存された .HTML を Calc で開くと、表の周りの境界線が消えます。
Open Office の Calc シートで表の枠線を HTML で表示する方法を教えてください。前もって感謝します。