2011-01-11 6 views
1

HTML文書を作成し、C#を使用してテーブルinitを作成します。私はASPやそのようなものを使いたくない。私はC#Windowsアプリケーションを使ってこれをやりたいC#(Windowsアプリケーション)を使用してHTML文書とプレーステーブルを作成する

作成した文書には、MS Wordを使用してはならないか、他のアプリに依存して任意のフォルダ(C:\)に保存しないかもしれませんそれは、他のMS製品の完全に独立してなどと任意のPCで実行することができます

このような
+4

あなたを止めているのは何ですか? HTMLはよく定義されたマークアップ言語であり、ディスクにファイルを書き込むことは、[System.IO.File](http://msdn.microsoft.com/en-us/library/system.io.file.aspx)クラス(他の方法もあるが)。 – R0MANARMY

答えて

4

何か:)

String exportdirectory = "c:"; 
StreamWriter sw; 
sw = File.CreateText(exportDirectory + "filename.html"); 
sw.WriteLine("<table>"); 
sw.WriteLine("<tr>"); 
sw.WriteLine("<td>"); 
sw.WriteLine("contents of table!"); 
sw.WriteLine("</td>"); 
sw.WriteLine("</tr>"); 
sw.WriteLine("</table>"); 
sw.Close(); 
+0

ねえ、バグ! SOの構文ハイライターは、@演算子に応じてC#で動作しません。 –

+0

ええ、私はちょうどそれに気づいた! c:\をc:に変更しなければならなかったので、@ "c:\"は作業を忘れてしまった – Chris

0

これはのStreamWriterでそれを保存し、単なる文字列を作成する(多分StringBuilderのを使用)、データを追加しています。より汎用性のあるものを探したい場合は、例えば、http://www.antlr.org/wiki/display/ST/StringTemplate+Documentationのような文字列テンプレートを使用してみてください。アプリケーションの「表示」部分を分離して、何らかの設定を許可して出力生成を容易にすることができます。

0

なぜあなたはそのような要件を持っているのか、なぜMSワードに言及しているのかわかりません...それは意味がありません... あなたのプログラムはHTMlファイルを作成することです.. WebサーバープログラミングのためのASP.NEtも必要です。)

ユーザーの要件によっては、HTML形式でデータを出力することをお勧めします。 そのため.. HTML拡張機能を持つファイルを作成し、HTML固有のタグをEmittingに送信するだけです。 これを行う方法については既にご指摘の人はほとんどいません。そこにもこの目的のために特別にメンターさSystem.Web.UI.HTML32TextWriterクラスですが、あなたは、ASPから何かを望んでいませんでした

 public void CreateFile() 
     { 
      StringBuilder sb = new StringBuilder(); 
      sb.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd \"> \r\n "); 
      sb.Append("<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n"); 
      sb.Append("<head>\r\n"); 
      sb.Append("<meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\r\n"); 
      sb.Append("<title>My HTMl Page</title>\r\n"); 
      sb.Append("</head>\r\n"); 
      sb.Append("<body>\r\n"); 
      sb.Append("<table>\r\n");     
      //If you are emiting some data like a list of items    
      foreach (var item in Items) 
      { 
       sb.Append("<tr>\r\n"); 
       sb.Append("<td>\r\n"); 
       sb.Append(item.ToString());    
       sb.Append("</td>\r\n");     
       sb.Append("</tr>\r\n"); 
      }  
      sb.Append("</table>\r\n"); 
      sb.Append("</body>\r\n"); 
      sb.Append("</html>\r\n"); 
      System.IO.StreamWriter sr = new System.IO.StreamWriter("Your file path .html"); 
      sr.Write(sb.ToString());    
    } 

迅速かつ汚い方法は、...このような気にいらないだろうだから...

関連する問題