首先将doc文件另存为xml,并且作为一个模板文件,然后用java程序读出xml的内容,并且将需要替换的内容用数据库中查询出来的 数据进行替换
然后将读出来的内容存为另外一个doc文件然后下载读文件的程序和写文件的程序都有了,就是在读文件的程序中怎样替换读出来的内容
程序如下:package net.btdz.oa.ext.jy;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class Test { /**
 * @param args
 * @throws UnsupportedEncodingException 
 */
public static void main(String[] args) throws UnsupportedEncodingException {
// TODO Auto-generated method stub
String s = new String(); 
String s1 = new String();;
    BufferedReader in=null;
    BufferedReader in1=null;
try {
in = new BufferedReader(new InputStreamReader(new FileInputStream(new File("e:\\xb.xml")), "UTF-8"));
} catch (FileNotFoundException e1) {

e1.printStackTrace();
}  try {
while((s = in.readLine())!= null) {

     s1+=s+"\n";         
}
//需要替换s1中的内容,怎样替换  in.close();   
         System.out.println("xml的萨芬撒的\n"+s1); 
         writefile("e:\\xb1.doc",s1);

catch(Exception e)

System.out.println("file error"); 
}  }
public  static void  writefile(String path, String content) throws IOException  
    {   
        File file=new File(path);
        FileWriter fw = new FileWriter(file);
        if(file.exists())
        {
try {
BufferedWriter bw = new BufferedWriter(fw);          bw.write(content);
         bw.newLine();
         bw.close();
       
} catch (Exception e) {

e.printStackTrace();
}
           }
    
  }
}请教各位大侠,怎么来处理这个问题
s1显示,s1读出来已经是类型
9GfihRXpvx5+AniH4DeK203VoWm06cs1jqSKfKuEHv2YcZXt9DXmVfrVGrCvBVKbumfjlajOhUdK
qrSQUUUVqYhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXsP7M37PWo/HzxxFa
YktfD1mwl1G+A+6n/PND/fboPQZNYXwO+B/iD46+ModF0aEpbIQ97qDqfKtYs8knuT2XqT7ZI/Wv
4T/CrQ/g/wCDrPw9oVuI7eEZkmYDfPJ3dj3Jr5fOs2jgoOjSf7x/h5/5H1mR5NLHzVaqv3a/Hy/z
Oh8NeHtP8J6FZaRpVslnp9nEsMEEYwFUDArToor8rbcndn68kopJbBRRRSGFFFFABRRRQAUUUUAF
FFFAHMfEL4c6D8T/AAvdaD4isY7+wnGcOPmjbs6H+Fh6ivzB/aS/ZH8RfA28m1K0jk1jwk7/ALu/
类似的编码了,

解决方案 »

  1.   

    文本文档是没有格式的,换句话说,就是只有字符串内容和结束标记的,这样的文件java用流可以轻松处理和读取。而word不是。所以在读取时会出问题,但是,用java的IO流一样可以实现word文件、excel文件甚至是图片、视频文件的复制等操作。
    所以说你有可能在读的过程中s1是doc本身的样式问题。
    所以还是建议手动再把xml文件转成doc文件吧。
      

  2.   

    如果是wrod另存为xml模板,那内容替换可以用freeer做。
    至于你说的s1?s1是要替换进word文档里的内容。还是要被替换的内容?
    如果是要被替换进去的,如果是图片是用base64编码的。
    如果是对象(例如向word中插入excel文档),那没办法,不晓得是什么格式。
    这个方式现在没法处理。