Click here to Skip to main content
11,806,590 members (67,716 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C# ASP.NET
I need to create docx file from the provided text.
Here is the code snippet,

<asp:TextBox ID="txtDescription" runat="server" TextMode="MultiLine" Height="100"
        <asp:LinkButton ID="lb_Download" runat="server" Text="Download file" OnClick="lb_Download_Click"></asp:LinkButton>

protected void Page_Load(object sender, EventArgs e)
        if (!IsPostBack)
            txtDescription.Text = "lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.";
    protected void lb_Download_Click(object sender, EventArgs e)
        string strContents = null;
        strContents = txtDescription.Text;
        string attachment = "attachment; filename=test.docx";
        Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
        Response.AddHeader("content-disposition", attachment);

When I open this created test.docx file, it gives me error.
Any solution in the Content Type?
Posted 26-Jan-12 17:40pm
Festar at 16-Sep-15 8:24am
The problem is with a following:


You see you're writing a DOCX file as if it were a plain text file and that will not work. You need to create a real DOCX file.
For that you can use quite a few options, for example you can try OpenXML SDK:
Or you can try a simpler approach with MadMilkman.Docx, like this:

// Create new DOCX file.
DocxFile document = new DocxFile();

// Add "strContents" as a HTML paragraph.
document.Body.AppendText("<body><p>" + strContents + "</p></body>", ContentType.Html);

MemoryStream stream = new MemoryStream();
// Save DOCX file to stream.

// Write stream to Response...

Or you can try this word processing dll for C#, here is how you can create a word document in C# with it.
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Go through this link, this may helps you


Mukund Thakker at 30-Jan-12 0:36am
This doesn't work. Gives same error while opening file.
Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Use the below line
Response.ContentType = "application/";
Anuja Pawar Indore at 27-Jan-12 1:20am
Added pre tag
Mukund Thakker at 28-Jan-12 2:29am
This doesn't work. Gives same error while opening file.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 ppolymorphe 205
1 OriginalGriff 175
2 Richard Deeming 175
3 Sergey Alexandrovich Kryukov 170
4 Abhinav S 120
0 OriginalGriff 3,380
1 Maciej Los 1,990
2 CPallini 1,915
3 KrunalRohit 1,907
4 ppolymorphe 1,317

Advertise | Privacy | Mobile
Web01 | 2.8.151002.1 | Last Updated 27 Jan 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100