猿问

如何在 java 中手动创建 doc/docx 文件

我在 java 中创建了一个带有纯字符串的 docx 文件。当我将 docx 文件通过电子邮件发送到我的手机时,文件无法正确打开。


我的Java代码是:


// creating a docx file

File wordFile = new File("myDocFile.docx");

wordFile.createNewFile();


 String title   = "my document title here";

 String content = "my document content here";


 // docx file content with Html

String fileStr = "<!DOCTYPE html><meta http-equiv=\"content-type\" " +

" content=\"application/msword; charset=UTF-8\">" + 

"<h1 style='text-align:center;'>" + title+ "</h1>" + content;


// writing fileStr in to docx file.

   Files.write(wordFile.toPath(), fileStr.getBytes("UTF-8"),

   StandardOpenOption.TRUNCATE_EXISTING);

我创建的 docx 文件没有在智能手机中打开。如何在智能手机中阅读 docx?


慕侠2389804
浏览 243回答 1
1回答

蛊毒传说

这里有两个简单的误解:当然,docx 有开放的 XML内容,但您仍然不应该尝试手动创建此类文件,请使用合理的库,例如apache POI。说真的:你从一个简单的“身体”开始,但任何在现实世界中有用的东西都会增长。您的需求会很快变得更加复杂,然后您会花费大量时间重新实现这些库为您做的事情。重新发明轮子的成本很高,特别是考虑到与任何成熟的库相比,你的轮子真的很糟糕。如何在每部智能手机中读取 docx?你不能。您无法控制世界上的“每一部”智能手机,因此您无法强制接收您的 docx 的人能够查看它。长话短说:你的整个方法看起来“被设计破坏了”。许多人真的不喜欢被发送“办公室”文件(出于良好的安全原因)。所以,真正的答案是:退后一步,评估你想要“发送”什么样的信息,然后找出对所有用户都有效的方法。当您已经向他们发送电子邮件时,请考虑将一些好的旧纯文本放入其中。一般来说:发送附有文件的电子邮件是让用户烦恼的好方法。这应该是你最后的手段,而不是你的第一个手段。
随时随地看视频慕课网APP

相关分类

Java
我要回答