小弟最近做的C#(Winform)导出Word,就是直接在后台创建了一个Word进行保存到本地。
需求是做个计划书似的东西,分四部分,第一部分logo图片,第二部分一个表格,第三部分是一个经过计算的文字介绍,第四部分是纯文字介绍。
现在有个问题就是我想让下面代码中 try块中部分的‘#region Middle’ 这部分的表格带边框线。
目前问题是我加上边框线之后‘#region Top’也会出现边框,不知道如何解决,求高手帮助
private void printToWord()
        {
            string filePath = "D:\\管理文档";
            if (!Directory.Exists(filePath))//若文件夹不存在则新建文件夹   
            {
                Directory.CreateDirectory(filePath); //新建文件夹   
            }
            object path = filePath + "\\" + "计划书word测试.doc" + "";//导出地址
            Object none = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document document = wordApp.Documents.Add(ref none, ref none, ref none, ref none);            //标题
            wordApp.Application.Selection.TypeText("×××计划书");//标题名称
            wordApp.Application.Selection.TypeParagraph();
            try
            {
                #region Top
                Table tableTop = document.Tables.Add(document.Paragraphs.Last.Range, 3, 7, ref none, ref none);
                tableTop.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphThaiJustify;//设置对其方式                tableTop.Cell(1, 1).Range.InlineShapes.AddPicture(this.textBox3.Text.Trim(), false, true, tableTop.Cell(1, 1).Range.Paragraphs.Last.Range);
                tableTop.Cell(1, 1).Application.ActiveDocument.InlineShapes[1].Width = 420;
                tableTop.Cell(1, 1).Application.ActiveDocument.InlineShapes[1].Height = 110;
                tableTop.Cell(1, 1).Merge(tableTop.Cell(1, 7));                tableTop.Cell(2, 1).Range.Text = " ";
                tableTop.Cell(2, 1).Merge(tableTop.Cell(2, 7));                tableTop.Cell(3, 1).Range.Text = "一,×××";
                tableTop.Cell(3, 1).Range.Font.Bold = 1;//1为粗体0为常规
                tableTop.Cell(3, 1).Merge(tableTop.Cell(3, 7));//合并列
                #endregion                #region Middle
                Table tableMiddle = document.Tables.Add(document.Paragraphs.Last.Range, 2, 7, ref none, ref none);
                tableMiddle.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphThaiJustify;//设置对其方式
                                tableMiddle.Cell(4, 1).Range.Text = "项目1";
                tableMiddle.Cell(4, 1).Range.Font.Bold = 1;
                tableMiddle.Cell(4, 2).Range.Text = "项目2";
                tableMiddle.Cell(4, 2).Range.Font.Bold = 1;
                tableMiddle.Cell(4, 3).Range.Text = "项目3";
                tableMiddle.Cell(4, 3).Range.Font.Bold = 1;
                tableMiddle.Cell(4, 4).Range.Text = "项目4";
                tableMiddle.Cell(4, 4).Range.Font.Bold = 1;
                tableMiddle.Cell(4, 5).Range.Text = "项目5";
                tableMiddle.Cell(4, 5).Range.Font.Bold = 1;
                tableMiddle.Cell(4, 6).Range.Text = "项目6";
                tableMiddle.Cell(4, 6).Range.Font.Bold = 1;
                tableMiddle.Cell(4, 7).Range.Text = "项目7";
                tableMiddle.Cell(4, 7).Range.Font.Bold = 1;                tableMiddle.Cell(5, 1).Range.Text = "值1";
                tableMiddle.Cell(5, 2).Range.Text = "值2";
                tableMiddle.Cell(5, 3).Range.Text = "值3";
                tableMiddle.Cell(5, 4).Range.Text = "值4";
                tableMiddle.Cell(5, 5).Range.Text = "值5";
                tableMiddle.Cell(5, 6).Range.Text = "值6";
                tableMiddle.Cell(5, 7).Range.Text = "值7";
                #endregion                #region Down
                Table tableDown = document.Tables.Add(document.Paragraphs.Last.Range, 16, 7, ref none, ref none);
                tableDown.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphThaiJustify;//设置对其方式                tableDown.Cell(6, 1).Range.Text = " ";//空行
                tableDown.Cell(6, 1).Merge(tableTop.Cell(6, 7));                tableDown.Cell(7, 1).Range.Text = "二,××××";
                tableDown.Cell(7, 1).Range.Font.Bold = 1;//1为粗体0为常规
                tableDown.Cell(7, 1).Merge(tableDown.Cell(7, 7));                tableDown.Cell(8, 1).Range.Text = "子问题1:";
                tableDown.Cell(8, 1).Merge(tableDown.Cell(8, 7));
                tableDown.Cell(9, 1).Range.Text = "    答案1.";
                tableDown.Cell(9, 1).Merge(tableDown.Cell(9, 7));                tableDown.Cell(10, 1).Range.Text = "子问题2:";
                tableDown.Cell(10, 1).Merge(tableDown.Cell(10, 7));
                tableDown.Cell(11, 1).Range.Text = "    答案2.";
                tableDown.Cell(11, 1).Merge(tableDown.Cell(11, 7));                tableDown.Cell(16, 1).Range.Text = " ";//空行
                tableDown.Cell(16, 1).Merge(tableDown.Cell(16, 7));                tableDown.Cell(17, 1).Range.Text = "三,×××××";
                tableDown.Cell(17, 1).Range.Font.Bold = 1;//1为粗体0为常规
                tableDown.Cell(17, 1).Merge(tableDown.Cell(17, 7));                tableDown.Cell(18, 1).Range.Text = "部分三相关文字介绍..........";
                tableDown.Cell(18, 1).Merge(tableDown.Cell(18, 7));                tableDown.Cell(19, 1).Range.Text = " ";//空行
                tableDown.Cell(19, 1).Merge(tableDown.Cell(19, 7));                tableDown.Cell(20, 1).Range.Text = "四,××××××";
                tableDown.Cell(20, 1).Range.Font.Bold = 1;//1为粗体0为常规
                tableDown.Cell(20, 1).Merge(tableDown.Cell(20, 7));//合并列                tableDown.Cell(21, 1).Range.Text = "部分四相关文字介绍..........";
                tableDown.Cell(21, 1).Merge(tableDown.Cell(21, 7));//合并列
                #endregion                document.SaveAs(ref path, ref none, ref none, ref none, ref none,
                    ref none, ref none, ref none, ref none, ref none, ref none, ref none,
                    ref none, ref none, ref none, ref none);
                document.Close(ref none, ref none, ref none);
                MessageBox.Show("数据已经成功导出到:" + filePath, "导出完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "温馨提示", MessageBoxButtons.OK);
            }
            finally
            {
                wordApp.Quit(ref none, ref none, ref none);
            }
        }C#WordWinForm