首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

.net 表格导出word有关问题

2013-04-05 
.net 表格导出word问题导出word的时候能不能导出在一个word里导出几张不同的表格?现在我导出2张表格的话,

.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 表格导出word有关问题
[解决办法]

(.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位置上就行了
------解决方案--------------------


帮顶,我也想知道
[解决办法]
可以弄个预定的模板, 在固定的待写入位置配上书签 或者 域 , 操作Office 在指定的书签或者域写入内容就OK
[解决办法]
以前做过一个简历导出 word  表格里套表格   当时费了好大劲 最后这个弄得 先用word做一个模板 把动态改变的地方用标记,,word导出时 用具体内容替换标记

热点排行