0

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 で表示する方法を教えてください。前もって感謝します。

4

0 に答える 0