Use c to create a table in the word document

  • 2020-05-12 03:06:46
  • OfStack


public string CreateWordFile()
        {
            string message = "";
            try
            {
                Object Nothing = System.Reflection.Missing.Value;
                string name = "xiehuan.doc";
                object filename = @"C:\Users\xiehuan\xxx\" + name;  // File save path 
                // create Word The document 
                Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
                Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);
                // Add the header 
                WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;
                WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;
                WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("[ The header content ]");
                WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;// Right align 
                WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;// Pops out of the header Settings 
                WordApp.Selection.ParagraphFormat.LineSpacing = 15f;// Sets the line spacing of the document 
                // Move focus and wrap 
                object count = 14;
                object WdLine = Microsoft.Office.Interop.Word.WdUnits.wdLine;// in 1 line ;
                 WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);// Move the focus 
                 WordApp.Selection.TypeParagraph();// Insert a paragraph 
                 // Create a table in the document 
                 Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12, 3, ref Nothing, ref Nothing);
                 // Set the table style 
                 newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleThickThinLargeGap;
                 newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;
                 newTable.Columns[1].Width = 100f;
                 newTable.Columns[2].Width = 220f;
                 newTable.Columns[3].Width = 105f;
                 // Fill in the table 
                 newTable.Cell(1, 1).Range.Text = " Product details table ";
                 newTable.Cell(1, 1).Range.Bold = 2;// Set the font in the cell to bold 
                 // Merge cell 
                 newTable.Cell(1, 1).Merge(newTable.Cell(1, 3));
                 WordApp.Selection.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;// Vertical center 
                 WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;// Horizontal center 

                 // Fill in the table 
                 newTable.Cell(2, 1).Range.Text = " Basic product information ";
                 newTable.Cell(2, 1).Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorDarkBlue;// Sets the font color in the cell 
                 // Merge cell 
                 newTable.Cell(2, 1).Merge(newTable.Cell(2, 3));
                 WordApp.Selection.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
                  // Fill in the table 
                  newTable.Cell(3, 1).Range.Text = " Brand name: ";
                  newTable.Cell(3, 2).Range.Text = "BrandName";
                  // Vertically merge the cells 
                  newTable.Cell(3, 3).Select();// The selected 1 line 
                  object moveUnit = Microsoft.Office.Interop.Word.WdUnits.wdLine;
                  object moveCount = 5;
                  object moveExtend = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;
                   WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);
                   WordApp.Selection.Cells.Merge();
                   // Insert the picture 
                   string FileName = Picture;// The path of the image 
                   object LinkToFile = false;
                   object SaveWithDocument = true;
                   object Anchor = WordDoc.Application.Selection.Range;
                   WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);
                    WordDoc.Application.ActiveDocument.InlineShapes[1].Width = 100f;// Image width 
                    WordDoc.Application.ActiveDocument.InlineShapes[1].Height = 100f;// Picture height 
                    // Set the image to 4 Weeks surround type 
                    Microsoft.Office.Interop.Word.Shape s = WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();
                    s.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapSquare;

                    newTable.Cell(12, 1).Range.Text = " Product specific attributes ";
                    newTable.Cell(12, 1).Merge(newTable.Cell(12, 3));
                     // Add rows to the table 
                     WordDoc.Content.Tables[1].Rows.Add(ref Nothing);

                     WordDoc.Paragraphs.Last.Range.Text = " Document creation time: " + DateTime.Now.ToString();// "Signature" 
                     WordDoc.Paragraphs.Last.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
                    // file 
                    WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);
                    WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
                    WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);
                    message=name+" The document was generated successfully to save to C:CNSI Under the ";
            }
            catch (System.Exception e)
            {
                MessageBox.Show(e.Message);
            }
            return message;
        }

Related articles: