# MS-Word Dokument mit Java erstellen



## guni (30. Jan 2008)

Hallo, ich versuche verzweifelt, ein Winword Dokument (docx) mit Java zu erstellen.
Habe mich mal ein bisschen ins docx-Format eingelesen und eine kleine Zip-Methode geschrieben:


```
public static void CreateZipFile(String zipFileName, String[] toCompressFiles){
		try {
			String[] fileNames = toCompressFiles;
			FileInputStream inStream;
			FileOutputStream outStream = new FileOutputStream(zipFileName);
			ZipOutputStream zipOutStream = new ZipOutputStream(outStream);
			zipOutStream.setLevel(Deflater.BEST_COMPRESSION);
			for (int n=0;n<fileNames.length;n++){ //for all files
				inStream = new FileInputStream(fileNames[n]);
				zipOutStream.putNextEntry(new ZipEntry(fileNames[n]));
				int i = 0;
				while ((i=inStream.read())!=-1){
					zipOutStream.write(i);
				}
				zipOutStream.closeEntry();
				inStream.close();
			}
			zipOutStream.flush();
			zipOutStream.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}
```

aber jedesmal, wenn ich das Dokument, dass ich mir mit dieser Zip-Methode einlese in Word Öffnen möchte bekomme ich einen Fehler, dass das Dokument nicht geöffnet werden kann!

Natürlich werdet ihr jetzt einen Fehler in meinem docx vermuten!
das schließe ich aber mal aus, weil ich nämlich (für TESTZWECKE) mal folgendes gemacht hab.
Eine fertige, intakte docx-Datei heruntergeladen.
Die Datei entzipt.
Meine Java-Methode für den Ordner angewendet:

```
public static void main(String[] args){
		// OpenXMLZipFile myDocX = new OpenXMLZipFile();
		String basePath = "C:\\";
		String zipPath = basePath + "\\docx";
		String zipFileName = basePath + "\\output.docx";
		String[] toCompressFiles = {
				zipPath + "[Content_Types].xml",
				zipPath + "_rels\\.rels",
				zipPath + "docProps\\app.xml",
				zipPath + "docProps\\core.xml",
				zipPath + "docProps\\thumbnail.wmf",
				zipPath + "word\\_rels\\document.xml.rels",
				zipPath + "word\\_rels\\header1.xml.rels",
				zipPath + "word\\media\\image1.jpeg",
				zipPath + "word\\theme\\theme1.xml",
				zipPath + "word\\document.xml",
				zipPath + "word\\endnotes.xml",
				zipPath + "word\\fontTable.xml",
				zipPath + "word\\footer1.xml",
				zipPath + "word\\footer2.xml",
				zipPath + "word\\footnotes.xml",
				zipPath + "word\\header1.xml",
				zipPath + "word\\numbering.xml",
				zipPath + "word\\settings.xml",
				zipPath + "word\\styles.xml",
				zipPath + "word\\webSettings.xml"
		};
		OpenXMLZipFile.CreateZipFile(zipFileName,toCompressFiles);
	}
```

Wer kann mir dazu weiterhelfen?

lg, guni


----------



## ARadauer (12. Feb 2008)

ich hab jetzt keinen plan von docx, aber vielleich reicht es doc datein zu erstellen, dann würd ich dir das empfehlen http://poi.apache.org/hwpf/index.html


----------



## extradry (29. Okt 2008)

Hallo Zusammen,

ich hänge zZ an dem gleichen Problem wie guni.

Hat jemand vielleicht mitlerweile einen Lösungsansatz dafür  :?: 

mfg


----------

