Java 是否可以从Microsoft word文档导入数据?

Java 是否可以从Microsoft word文档导入数据?,java,ms-word,Java,Ms Word,通常,CSV和excel文件格式将用于导入数据,因为通过编程很容易提取数据。我的用户不喜欢excel文件格式的数据输入,他们喜欢word文档。但我不知道如何从MicrosoftWord文档中提取数据。有人试过吗?你有什么建议吗 找到这个,但是不知道如何创建这样的模板,在java中使用什么API来提取值。< p>有这样的库,它比它更容易。 < p>如果我们想到微软Office Word文档,java没有任何内置类来处理这个问题,但是Apache基金会开发的Apache POI包给了你力量。在Jav

通常,CSV和excel文件格式将用于导入数据,因为通过编程很容易提取数据。我的用户不喜欢excel文件格式的数据输入,他们喜欢word文档。但我不知道如何从MicrosoftWord文档中提取数据。有人试过吗?你有什么建议吗


找到这个,但是不知道如何创建这样的模板,在java中使用什么API来提取值。

< p>有这样的库,它比它更容易。

< p>如果我们想到微软Office Word文档,java没有任何内置类来处理这个问题,但是Apache基金会开发的Apache POI包给了你力量。在Java中阅读Microsoft Word文档的方法

import org.apache.poi.poifs.filesystem.*;
import org.apache.poi.hwpf.*;
import org.apache.poi.hwpf.extractor.*;
import java.io.*;

public class readDoc
{
    public static void main( String[] args )
    {
        String filesname = "Hello.doc";
        POIFSFileSystem fs = null;
        try
        {
                  fs = new POIFSFileSystem(new FileInputStream(filesname; 
                  //Couldn't close the braces at the end as my site did not allow it to close

                  HWPFDocument doc = new HWPFDocument(fs);

          WordExtractor we = new WordExtractor(doc);

          String[] paragraphs = we.getParagraphText();

          System.out.println( "Word Document has " + paragraphs.length + " paragraphs" );
          for( int i=0; i<paragraphs .length; i++ ) {
            paragraphs[i] = paragraphs[i].replaceAll("\\cM?\r?\n","");
                    System.out.println( "Length:"+paragraphs[ i ].length());
          }
                }
                catch(Exception e) { 
                    e.printStackTrace();
                }
         }
}
import org.apache.poi.poifs.filesystem.*;
导入org.apache.poi.hwpf.*;
导入org.apache.poi.hwpf.extractor.*;
导入java.io.*;
公共类readDoc
{
公共静态void main(字符串[]args)
{
字符串filename=“Hello.doc”;
POIFSFS=null;
尝试
{
fs=新的POIFSF文件系统(新的FileInputStream(FileName;
//无法关闭末尾的大括号,因为我的站点不允许它关闭
HWPF文件文件=新的HWPF文件(fs);
WordExtractor we=新的WordExtractor(文档);
String[]段落=we.getParagraphText();
System.out.println(“Word文档有“+段落.长度+”段落”);

对于(int i=0;i我喜欢这个答案,评论如下:


您可能想探索InfoPath,它是MS forms技术,您可以从MS Word导入表单。–6月30日2:32

@Venkat是的,它可以阅读Word、Excel、PowerPoint等。它也允许写作,但其写作能力更有限。哪个版本的Word?可以将
.doc
文件作为文本输出,但您可能说的是关于
.docx
任何人。doc或docx都很好。您可能想探索InfoPath,它是MS forms技术,您可以从MS Word导入表单。谢谢,MS InfoPath看起来很有希望。