请问有Java实现就像Excel那样的表格的简单例子吗?只要能动态增减表格的行和列就好,谢谢!

解决方案 »

  1.   

    swing可以啊
    如何 bs的话 很多js框架可以帮你完成 比如extjs
      

  2.   

    http://www.blogjava.net/phe441/archive/2006/12/12/87326.html
    木有研究过,希望对LZ有用
      

  3.   

    DefaultTableModel mdl = new DefaultTableModel();
    JTable tbl = new JTable(mdl);
    ...
    mdl.addRow(Object[] rowData);//增加行
    mdl.removeRow(int row);//删除行
    mdl.addColumn(Object columnName, Object[] columnData) //删除列
    tbl.addColumn(TableColumn aColumn)//删除列
    tbl.removeColumn(TableColumn aColumn)//删除列注意下tbl和mdl之间的index关系,因为JTable默认支持列拖动。
      

  4.   

      用jxl对excel进行操作,你可以看下这个例子
    http://download.csdn.net/source/2160969
      

  5.   

    他要的不是处理excel,而是java中提供的表格控件,package coreJava;import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JButton;
    import javax.swing.table.DefaultTableModel;public class Test extends JFrame {    private JPanel jContentPane = null;
        private JScrollPane jScrollPane = null;
        private JTable viewtable = null;
        private JButton jButton = null;
        //建立一个模型,之后的表将在建立在模型下,或者说是以模型为一个基本模板;
        DefaultTableModel dtm = null;    //表中表头名;
        String[] columnNames = { "First Name", "Last Name", "Sport", "# of Years",
        "Vegetarian" };    //表中数据;
        Object[][] data = {
        { "Mary", "Campione", "Snowboarding", new Integer(5),
        new Boolean(false) },
        { "Alison", "Huml", "Rowing", new Integer(3), new Boolean(true) },
        { "Kathy", "Walrath", "Knitting", new Integer(2),
        new Boolean(false) },
        { "Sharon", "Zakhour", "Speed reading", new Integer(20),
        new Boolean(true) },
        { "Philip", "Milne", "Pool", new Integer(10), new Boolean(false) } };    /**
        * This method initializes jScrollPane   
        *    
        * @return javax.swing.JScrollPane   
        */    //使用JTABLE ON JSCROLLPANE控件;
        private JScrollPane getJScrollPane() {
            if (jScrollPane == null) {
                jScrollPane = new JScrollPane();
                jScrollPane.setBounds(new java.awt.Rectangle(40,40,650,200));
                jScrollPane.setViewportView(getViewtable());
            }
            return jScrollPane;
        }    /**
        * This method initializes viewtable   
        *    
        * @return javax.swing.JTable   
        */
        //初始化表;
        private JTable getViewtable() {
            if (viewtable == null) {
                viewtable = new JTable();
        //将表头和数据放入模型中;
                dtm=new DefaultTableModel(data,columnNames);
        //用模型建立表;
                viewtable=new JTable(dtm);
            }
            return viewtable;
        }    /**
        * This method initializes jButton   
        *    
        * @return javax.swing.JButton   
        */
        private JButton getJButton() {
            if (jButton == null) {
                jButton = new JButton();
                jButton.setText("del");
                jButton.setBounds(new java.awt.Rectangle(289,316,165,28));            jButton.addActionListener(new ActionListener(){                public void actionPerformed (ActionEvent e){
                        int numrow=viewtable.getSelectedRows().length;
                        for (int i=0;i<numrow;i++){
                            dtm.removeRow(viewtable.getSelectedRow());
                        }
                       
                    }
                });
            }
            return jButton;
        }    /**
        * @param args
        */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
         Test test = new Test();
         test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         test.setVisible(true);
        
        }    /**
        * This is the default constructor
        */
        public Test() {
            super();
            initialize();
       
        }    /**
        * This method initializes this
        *
        * @return void
        */
        private void initialize() {
            this.setSize(772, 500);
            this.setContentPane(getJContentPane());
            this.setTitle("JFrame");
        }    /**
        * This method initializes jContentPane
        *
        * @return javax.swing.JPanel
        */
        private JPanel getJContentPane() {
            if (jContentPane == null) {
                jContentPane = new JPanel();
                jContentPane.setLayout(null);
                jContentPane.add(getJScrollPane(), null);
                jContentPane.add(getJButton(), null);
            }
            return jContentPane;
        }} // @jve:decl-index=0:visual-constraint="10,10"
      

  6.   

    SWING实现的话就用JTable,WEB实现的话应该用控件了吧。昨天看过别人发过两个连接,都是关于控件的,你看下有帮助否!http://examples.coolite.com/Examples/GridPanel/Commands/Menu_Row_Command/http://www.scriptlover.com/controls/main.html
      

  7.   

    不是说是先Excel,而是能够简单的构造出表格而且能够动态增减还能够列
    就行。
      

  8.   

    这个就是TableModel接口的功能,你按照自己的需求实现一个
    技术上根本不难做,只要有钱,在找点有经验的人。难做的是推广和占有率。我毕业设计里面,包含过一个swing版的spreadsheet,虽然现在看很幼稚,但是excel的常用功能都有了。
      

  9.   

    如果是web的话,建议使用Apache-POI去实现。
      

  10.   

    看我写的,是如何构建JList,以及如何来删除某个item的。
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.DefaultListModel;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;public class TestList extends JFrame { private JPanel jContentPane = null;
    private JScrollPane jScrollPane = null;
    private JList viewtable = null;
    private JButton jButton = null;
    // 建立一个模型,之后的表将在建立在模型下,或者说是以模型为一个基本模板;
    DefaultListModel dtm = null;
    /**
     * This method initializes jScrollPane
     * 
     * @return javax.swing.JScrollPane
     */ // 使用JTABLE ON JSCROLLPANE控件;
    private JScrollPane getJScrollPane() {
    if (jScrollPane == null) {
    jScrollPane = new JScrollPane();
    jScrollPane.setBounds(new java.awt.Rectangle(40, 40, 650, 200));
    jScrollPane.setViewportView(getViewtable());
    }
    return jScrollPane;
    } /**
     * This method initializes viewtable
     * 
     * @return javax.swing.JTable
     */
    // 初始化表;
    private JList getViewtable() {
    if (viewtable == null) {
    viewtable = new JList();

    dtm = new DefaultListModel();
    dtm.addElement("hello");
    dtm.addElement("zhtsuc");
    dtm.addElement("zhtsuc_second");
    // 用模型建立表;
    viewtable = new JList(dtm);
    }
    return viewtable;
    } /**
     * This method initializes jButton
     * 
     * @return javax.swing.JButton
     */
    private JButton getJButton() {
    if (jButton == null) {
    jButton = new JButton();
    jButton.setText("del");
    jButton.setBounds(new java.awt.Rectangle(289, 316, 165, 28)); jButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
    int numrow = viewtable.getSelectedValues().length;
    Object[] objs = viewtable.getSelectedValues();
    for (int i = 0; i < numrow; i++) {
    dtm.removeElement(objs[i]);
    } }
    });
    }
    return jButton;
    } /**
     * @param args
     */
    public static void main(String[] args) {
    TestList test = new TestList();
    test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    test.setVisible(true); } /**
     * This is the default constructor
     */
    public TestList() {
    super();
    initialize(); } /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize() {
    this.setSize(772, 500);
    this.setContentPane(getJContentPane());
    this.setTitle("JFrame");
    } /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane() {
    if (jContentPane == null) {
    jContentPane = new JPanel();
    jContentPane.setLayout(null);
    jContentPane.add(getJScrollPane(), null);
    jContentPane.add(getJButton(), null);
    }
    return jContentPane;
    }}
      

  11.   

    http://blog.csdn.net/guyu520/archive/2008/01/01/2007587.aspx这个就是讲java 表格的