日期:2014-05-17  浏览次数:20447 次

.net 表格导出word问题
导出word的时候能不能导出在一个word里导出几张不同的表格?
现在我导出2张表格的话,第2个表格会嵌套在第一个表格的第一个单元格里,怎么让他们分开啊?
  Microsoft.Office.Interop.Word.ApplicationClass WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
                Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);

  Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, 7, 2, ref Nothing, ref Nothing);//第一个表格

 Microsoft.Office.Interop.Word.Table newTable2 = WordDoc.Tables.Add(WordApp.Selection.Range, 1, 3, ref Nothing, ref Nothing);//第二个表格

结果导出的第二个表格不会和第一个分开,要怎么改呢

------解决方案--------------------

(.net)

StringBuilder sb = new StringBuilder();
        StringWriter sw = new StringWriter(sb);
        HtmlTextWriter htw = new HtmlTextWriter(sw);

        Page page = new Page();
        HtmlForm form = new HtmlForm();

        GridView1.EnableViewState = false;

        // Deshabilitar la validación de eventos, sólo asp.net 2
        page.EnableEventValidation = false;

        // Realiza las inicializaciones de la instancia de la clase Page que requieran los dise?adores RAD.
        page.DesignerInitialize();

        page.Controls.Add(form);
        form.Controls.Add(GridView1);

        page.RenderControl(htw);

        Response.Clear();
        Response.Buffer = true;
        //Response.ContentType指定文件类型 可以为application/ms-excel、application/ms-word、application/ms-txt、application/ms-html 或其他浏览器可直接支持文档
        Response.ContentType = "application/vnd.ms-excel";
        //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开
        //filename=FileFlow.xls 指定输出文件的名称,注意其扩展名和指定文件类型相符,可以为:.doc    .xls    .txt   .htm
        Response.AddHeader("Content-Disposition", "attachment;filename=data.xls");
        Response.Charset = "UTF-8";
        Response.ContentEncoding = Encoding.Default;
        Response.Write(sb.ToString());
        Response.End();

------解决方案--------------------
你可以弄个word模板,然后在模板上用mark标识一下,然后生成的时候把不同的table放到不同的mark位置上就行了