从Java创建新的Word文档



我想在java中打开新的MS Word文档以在单击按钮时打开你能给我建议代码吗,我正在通过以下代码来做到这一点,但我认为它是打开现有文档而不是创建新文档

class OpenWordFile {
    public static void main(String args[]) {
        try {
            Runtime rt = Runtime.getRuntime();
            rt.exec("cmd.exe /C start Employee.doc");
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Exception occured" + ex);
        }
    }
}

你不能单独使用Java来做到这一点,至少如果你需要生成DOC文件,你需要一个第三个工具库Aspose。看看这个线程,否则你可以使用运行时打开现有文件。

只有注释,没有任何单词

Runtime run = Runtime.getRuntime();
String lcOSName = System.getProperty("os.name").toLowerCase();
boolean MAC_OS_X = lcOSName.startsWith("mac os x");
if (MAC_OS_X) {
    run.exec("open " + file);
} else {
    //run.exec("cmd.exe /c start " + file); //win NT, win2000
    run.exec("rundll32 url.dll, FileProtocolHandler " + path);
}

在最近的(Java 6.0)版本中,Java提供了桌面类。该类的目的是在系统中打开与给定文件关联的应用程序。因此,如果您使用 Word 文档 (.doc) 调用 open() 方法,则它会自动调用 MS Word,因为这是与.doc文件关联的应用程序。

我开发了一个小型 Swing 程序(尽管您可以将其开发为控制台应用程序)来从用户那里获取文档编号并将文档调用到MSWord中。假设是;文档与由<document number>>.doc组成的filename一起存储。

下面给出的是可以按原样编译和运行的 Java 程序。确保将 DIR 变量更改为存储.doc文件的文件夹。

这是在Java中打开Word Doc的代码...它是来自网络的摘录。

import java.io.File;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class WordDocument extends JFrame {
    private JButton btnOpen;
    private JLabel jLabel1;
    private JTextField txtDocNumber;
    private static String DIR  ="c:\worddocuments\";   // folder where word documents are present.
    public WordDocument() {
       super("Open Word Document");
       initComponents();
    }
    private void initComponents() {
        jLabel1 = new JLabel();
        txtDocNumber = new JTextField();
        btnOpen = new JButton();
        Container c = getContentPane();
        c.setLayout(new java.awt.FlowLayout());
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jLabel1.setText("Enter Document Number  : ");
        c.add(jLabel1);
        txtDocNumber.setColumns(5);
        c.add(txtDocNumber);
        btnOpen.setText("Open Document");
        btnOpen.addActionListener(new ActionListener() {      // anonymous inner class 
            public void actionPerformed(ActionEvent evt) {
                  Desktop desktop = Desktop.getDesktop();  
              try {
                File f = new File( DIR + txtDocNumber.getText()  +  ".doc");
                 desktop.open(f);  // opens application (MSWord) associated with .doc file
              }
              catch(Exception ex) {
                // WordDocument.this is to refer to outer class's instance from inner class
                JOptionPane.showMessageDialog(WordDocument.this,ex.getMessage(),"Error", JOptionPane.ERROR_MESSAGE);
              }
            }
        });
        c.add(btnOpen);
    } // initCompnents()
    public static void main(String args[]) {
          WordDocument wd = new WordDocument();
          wd.setSize(300,100);
          wd.setVisible(true);
    }
}

也许使用 java.awt.Desktop 会有所帮助?

    File f = new File("<some temp path>\file.docx");
    f.createNewFile();
    Desktop.getDesktop().open(f);

创建一个新的空文档,并使用扩展的 systsem 指定程序打开它。该解决方案的优势在于它适用于所有操作系统...只要操作系统有一个程序来查看该文件。

虽然我怀疑您正在寻找对文件创建进行更多控制的功能......

相关内容

  • 没有找到相关文章

最新更新