我眼下有一个项目需要用JAVA来操作WORD或EXCEL来生成报表单据(如销售单等),请教如何才能实现呀,最好能贴下代码。谢谢了!急呀!

解决方案 »

  1.   

    参考: 
    http://danadler.com/jacob/ 
    http://jakarta.apache.org/poi/ 
    http://www.onjava.com/pub/a/onjava/2003/01/22/poi.html 
    http://www.csdn.net/develop/article/15/15311.shtm 
    http://forum.java.sun.com/thread.jsp?forum=40&thread=382666&tstart=0&trange=15 一个jacob操作Word的例子,操作Excel,Access,Outlook的例子jacob的sample目录中有 
    import java.io.File; 
    import com.jacob.com.*; 
    import com.jacob.activeX.*; 
    public class WordTest { public static void main(String[] args) { 
    WordBean word=new WordBean(); 
    word.openWord(true); 
    word.createNewDocument(); 
    word.insertText("Hello word."); 


    import com.jacob.activeX.*; 
    import com.jacob.com.*; 
    public class WordBean extends java.awt.Panel 

    private ActiveXComponent MsWordApp = null; 
    private Dispatch document = null; 
    public WordBean() 

    super(); 

    public void openWord(boolean makeVisible) 

    //Open Word if we've not done it already 
    if (MsWordApp == null) 

    MsWordApp = new ActiveXComponent("Word.Application"); 

    //Set the visible property as required. 
    Dispatch.put(MsWordApp, "Visible", 
    new Variant(makeVisible)); 

    public void createNewDocument() 

    //Find the Documents collection object maintained by Word 
    Dispatch documents = 
    Dispatch.get(MsWordApp,"Documents").toDispatch(); 
    //Call the Add method of the Documents collection to create 
    //a new document to edit 
    document = Dispatch.call(documents,"Add").toDispatch(); 

    public void insertText(String textToInsert) 

    // Get the current selection within Word at the moment. If 
    // a new document has just been created then this will be at 
    // the top of the new doc 
    Dispatch selection = 
    Dispatch.get(MsWordApp,"Selection").toDispatch(); 
    //Put the specified text at the insertion point 
    Dispatch.put(selection,"Text",textToInsert); 

    public void saveFileAs(String filename) 

    Dispatch.call(document,"SaveAs",filename); 

    public void printFile() 

    //Just print the current document to the default printer 
    Dispatch.call(document,"PrintOut"); 

    public void closeDocument() 

    // Close the document without saving changes 
    // 0 = wdDoNotSaveChanges 
    // -1 = wdSaveChanges 
    // -2 = wdPromptToSaveChanges 
    Dispatch.call(document, "Close", new Variant(0)); 
    document = null; 

    public void closeWord() 

    Dispatch.call(MsWordApp,"Quit"); 
    MsWordApp = null; 
    document = null; 

    } http://www.lowagie.com/iText/docs.html#download 
    http://danadler.com/jacob/jacobBin_17.zip 
      

  2.   

    我眼下有一个项目需要用JAVA或javascript来操作WORD或EXCEL来生成报表单据(如销售单等),并且能预览报表,请教如何才能实现呀,最好能贴下代码。谢谢了!急呀! 
    比如报表内容如下: 
    有一个2*2表格,表格的第一列的第一行写“名称”,第一列的第一行写“重量”;然后第二列的第一行和第二行分别就是从用户界面输入的名称和重量的具体值。
      

  3.   

    可以直接将html里的table转为excel
      

  4.   

    这种东西一大堆 建议用excel 操作excel我觉得jxl挺好用的 lz可以看看
      

  5.   

    为什么不采用 ireport 生成呢
      

  6.   

    用POI 吧去看下它的API 很简单
      

  7.   

    1.jxl
    2.用js操作控件,涉及到安全,客户端要重新设置
    3.直接把头改成.doc然后用out.print("<table><tr><td></td></tr></table>");这样的输出.