0

データで満たされた c# のグリッドがあります。そのグリッドの列の 1 つには、次のようにアルファベット順に並べ替えられた文字 (数字が続く) が含まれています。

A124
A256
A756
B463
B978
D322
etc.

このデータを Word ドキュメント (.doc または .docx 形式) にエクスポートする必要があります。これは、サイングリッドをエクスポートするために私がしたことです:

var dt = FuntionThatReturnsDatatables();

var gd = new GridView
        {
            DataSource = dt                     
        };

        gd.DataBind();

        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.Buffer = true;

        HttpContext.Current.Response.AddHeader("content-disposition", "attachment;
        filename=" + "List" + DateTime.Now.ToString("dd.MM.yyyy") + ".doc");

        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/ms-word";
        HttpContext.Current.Response.Charset = "UTF-8";

      HttpContext.Current.Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble()); 

        var oStringWriter = new StringWriter();
        var oHtmlTextWriter = new HtmlTextWriter(oStringWriter);

        gd.RenderControl(oHtmlTextWriter);
        HttpContext.Current.Response.Output.Write(oStringWriter.ToString());
        HttpContext.Current.Response.Flush();
        HttpContext.Current.Response.End();

しかし今、私はこのロジックに従う必要があります: - グリッドからのすべての文字に対して、タイトル付きの新しいテーブルを次のように作成する必要があります:

Table A:
 A124
 A256
 A756

ここに画像の説明を入力

ここに画像の説明を入力

  • 新しいテーブルはそれぞれ、次のように新しいページから開始する必要があります。

    表 A: A124、A256、A756、//新しいページ

    表 B: B463、B978、//新しいページ

    表D:D322など

  • そのワード文書のページには番号を付ける必要があります。

これを行うために c# でコードを記述する方法はありますか、またはこのタスクを達成できるライブラリ/プラグインはありますか?

いくつかの例をいただければ幸いです。

4

2 に答える 2

0

どのバージョンの Word を使用する必要がありますか? .docx ファイル形式を扱えるバージョン、つまり 2007 以降であれば、それらのファイルを直接生成できます。実際、これを行う最も簡単な方法は、一種のテンプレートとして使用する Word で .docx ファイルを作成し、そのファイル内の xml をプログラムで操作することです。

詳細については、次を参照してください。

于 2012-06-06T12:24:33.497 に答える