0% found this document useful (0 votes)
171 views

C# Word Doccument Generation

This document provides a step-by-step guide to creating a Word document using C# and Office 2013. It explains how to add references, generate the document, insert headers and footers, add text and paragraphs with different styles, and create and format a table. The code sample shows how to open a Word application, create a new document, insert various elements, save the file, and close the application programmatically.

Uploaded by

Ace
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views

C# Word Doccument Generation

This document provides a step-by-step guide to creating a Word document using C# and Office 2013. It explains how to add references, generate the document, insert headers and footers, add text and paragraphs with different styles, and create and format a table. The code sample shows how to open a Word application, create a new document, insert various elements, save the file, and close the application programmatically.

Uploaded by

Ace
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

Reader Level:

Articles
[Office 2013]
How to Create Word Document Using C#
By Muralidharan Deenathayalan on Aug 30, 2013
This article shows how to create a Word document using C# and Office 2013.
This article shows how to create a Word document using C# and Office 2013.
Step 1: Create a simple Windows application and place a button control in it.
Step 2: Double-click the button control and go to the code widow.
Step 3: Add a reference for "Microsoft.Office.Interop.Word" as shown in the foll
owing image.
Clipboard02.jpg
Step 4: Copy and paste the following code to generate the Word document.
The code is self-explanatory and the required comments are added wherever they a
re required.
private void button1_Click(object sender, EventArgs e)
{
CreateDocument();
}
//Create document method
private void CreateDocument()
{
try
{
//Create an instance for word app
Microsoft.Office.Interop.Word.Application winword = new Microsof
t.Office.Interop.Word.Application();
//Set animation status for word application
winword.ShowAnimation = false;
//Set status for word application is to be visible or not.
winword.Visible = false;
//Create a missing variable for missing value
object missing = System.Reflection.Missing.Value;
//Create a new document
Microsoft.Office.Interop.Word.Document document = winword.Docume
nts.Add(ref missing, ref missing, ref missing, ref missing);
//Add header into the document
foreach (Microsoft.Office.Interop.Word.Section section in docume
nt.Sections)
{
//Get the header range and add the header details.
Microsoft.Office.Interop.Word.Range headerRange = section.He
aders[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].R
ange;
headerRange.Fields.Add(headerRange, Microsoft.Office.Interop

.Word.WdFieldType.wdFieldPage);
headerRange.ParagraphFormat.Alignment = Microsoft.Office.Int
erop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
headerRange.Font.ColorIndex = Microsoft.Office.Interop.Word.
WdColorIndex.wdBlue;
headerRange.Font.Size = 10;
headerRange.Text = "Header text goes here";
}
//Add the footers into the document
foreach (Microsoft.Office.Interop.Word.Section wordSection in do
cument.Sections)
{
//Get the footer range and add the footer details.
Microsoft.Office.Interop.Word.Range footerRange = wordSectio
n.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimar
y].Range;
footerRange.Font.ColorIndex = Microsoft.Office.Interop.Word.
WdColorIndex.wdDarkRed;
footerRange.Font.Size =10;
footerRange.ParagraphFormat.Alignment = Microsoft.Office.Int
erop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
footerRange.Text = "Footer text goes here";
}
//adding text to document
document.Content.SetRange(0, 0);
document.Content.Text = "This is test document "+ Environment.Ne
wLine;
//Add paragraph with Heading 1 style
Microsoft.Office.Interop.Word.Paragraph para1 = document.Content
.Paragraphs.Add(ref missing);
object styleHeading1 = "Heading 1";
para1.Range.set_Style(ref styleHeading1);
para1.Range.Text = "Para 1 text";
para1.Range.InsertParagraphAfter();
//Add paragraph with Heading 2 style
Microsoft.Office.Interop.Word.Paragraph para2 = document.Content
.Paragraphs.Add(ref missing);
object styleHeading2 = "Heading 2";
para2.Range.set_Style(ref styleHeading2);
para2.Range.Text = "Para 2 text";
para2.Range.InsertParagraphAfter();
//Create a 5X5 table and insert some dummy record
Table firstTable = document.Tables.Add(para1.Range, 5, 5, ref mi
ssing, ref missing);
firstTable.Borders.Enable = 1;
foreach (Row row in firstTable.Rows)
{
foreach (Cell cell in row.Cells)
{
//Header row
if (cell.RowIndex == 1)
{
cell.Range.Text = "Column " + cell.ColumnIndex.ToStr
ing();

cell.Range.Font.Bold = 1;
//other format properties goes here
cell.Range.Font.Name = "verdana";
cell.Range.Font.Size = 10;
//cell.Range.Font.ColorIndex = WdColorIndex.wdGray25
;
cell.Shading.BackgroundPatternColor = WdColor.wdColo
rGray25;
//Center alignment for the Header cells
cell.VerticalAlignment = WdCellVerticalAlignment.wdC
ellAlignVerticalCenter;
cell.Range.ParagraphFormat.Alignment = WdParagraphAl
ignment.wdAlignParagraphCenter;
}
//Data row
else
{
cell.Range.Text = (cell.RowIndex - 2 + cell.ColumnIn
dex).ToString();
}
}
}
//Save the document
object filename = @"c:\temp1.docx";
document.SaveAs2(ref filename);
document.Close(ref missing, ref missing, ref missing);
document = null;
winword.Quit(ref missing, ref missing, ref missing);
winword = null;
MessageBox.Show("Document created successfully !");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Step 5: Once the code is executed successfully, the document output will be:
Clipboard03.jpg
The source code is attached, please post your feedback in the comments section.
Hope this helps someone.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy