Specified part does not exist in the package
asp.net, c#, openxml
Solution
As it turns out the problem was due to a missing xml file. In case anyone else runs into similar problems, check the following:
- rename yourfile.docx to yourfile.zip
- extract the zip file and look in the file called `[Content-Types].xml`
- check that all the xml files listed in `[Content-Types].xml` exist in your zip file.
In my case I had the following line in my `[Content-Types].xml` file:
<Override PartName="/word/recipientData.xml" ContentType="application/vnd.ms-word.mailMergeRecipientData+xml"/>
But I was missing the `recipientData.xml` file from the word directory.
Problem
I have the following code: ``` using (var doc = WordprocessingDocument.Open(filename, true)) { .... } ``` Where string filename is a valid path to a docx file. But calling Open causes the following InvalidOperationException: `Specified part does not exist in the package.` Edit: I assume the problem is due to the docx file I'm trying to open being invalid so I'll post the xml: ``` <?xml version="1.0" encoding="utf-8" standalone="yes"?> <w:document xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 wp14"> <w:body xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"> <w:p w:rsidRPr="005501CD" w:rsidR="00217D87" w:rsidP="005501CD" w:rsidRDefault="005501CD"> <w:r> <w:t xml:space="preserve">Hello </w:t> </w:r> <w:r> <w:rPr> <w:noProof /> </w:rPr> <w:t>John</w:t> </w:r> <w:r> <w:t xml:space="preserve"> </w:t> </w:r> <w:r> <w:rPr> <w:noProof /> </w:rPr> <w:t>Smith</w:t> </w:r> <w:r> <w:t>,</w:t> </w:r> <w:bookmarkStart w:name="_GoBack" w:id="0" /> <w:bookmarkEnd w:id="0" /> </w:p> <w:sectPr w:rsidRPr="005501CD" w:rsidR="00217D87"> <w:pgSz w:w="11906" w:h="16838" /> <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708" w:footer="708" w:gutter="0" /> <w:cols w:space="708" /> <w:docGrid w:linePitch="360" /> </w:sectPr> </w:body> </w:document> ``` Other docx files open fine, but I suspect a bug in my mail merge code is causing an invalid docx file to be generated.