【问题标题】:inserting data into excel using java使用java将数据插入excel
【发布时间】:2012-08-23 07:16:49
【问题描述】:

我正在使用 java swing 构建一个独立的应用程序。和 excel 2007 表作为存储我的数据的后端。 excel表格中有15列。我只需 5 列就可以将数据插入其中。但是当我尝试插入 15 列时它显示“语法错误”。一次可以插入的列数是否有限制?或者是否有其他用于冗长记录的语法?我是java新手。所以请帮帮我。在此先感谢:) 我已经发布了编码的部分

 try
                       {

                         String value1=t1.getText();

                         String value2=(String)c6.getSelectedItem();

                         String value3=t3.getText();

                         String value4=t4.getText();

                         String value5=t5.getText();

                         String value6 = (String) c4.getSelectedItem(); 

                         String value7=t7.getText();

                         String value8=t8.getText();

                         String value9 = (String) c1.getSelectedItem(); 

                         String value10 = (String) c2.getSelectedItem(); 

                         String value11 = (String) c5.getSelectedItem(); 

                         String value12 = (String) c3.getSelectedItem(); 

                         String value13=t13.getText();

                         String value14=t14.getText();

                         String value15=t15.getText();

           //connection to the database          

                  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
               Connection con=DriverManager.getConnection("jdbc:odbc:testingApp");

          //Execute some sql and load the records into the resultset
                  Statement st=con.createStatement();
                String q = "insert into [sheet1$] (CRN,CR_NUM,SOW_N,PSM,LBG,TYPE,VALUE,REMARKS,STATUS,APPROVAL,PLATFORM,MODEL,START_DATE,END_DATE,CUM_VALUE) values ('"+value1+"','"+value2+"','"+value3+"','"+value4+"','"+value5+"','"+value6+"','"+value7+"','"+value8+"','"+value9+"','"+value10+"','"+value11+"','"+value12+"','"+value13+"','"+value14+"','"+value15+"')";
                 int ds = st.executeUpdate(q);
                 System.out.println("Inserted Sucessfully...!!!");

                  /* t1.setText(null);
                    c6.addItem(null);
                    t3.setText(null);
                    t4.setText(null);
                    t5.setText(null);
                    c4.addItem(null);
                    t7.setText(null);
                    t8.setText(null);
                    c1.addItem(null);
                    c2.addItem(null);
                    c5.addItem(null);
                    c3.addItem(null); 
                    t13.setText(null);
                    t14.setText(null);
                    t15.setText(null); */
                    }catch(Exception e)
                       {
                           System.out.println(e.getMessage());
                        }
                    }

} 

【问题讨论】:

  • 您的任何数据中是否包含 ' 字符?
  • 也许你可以看看Apache POI

标签: java sql excel syntax odbc


【解决方案1】:

如果你想要 xls/xlsx 格式,那么作为 sp00m sai,Apache POI 是最好的解决方案,
如果你想要 csv 文件,那么只需创建文本文件并在那里写入数据,用逗号分隔列,用“\n”字符分隔行

【讨论】:

  • 不,它们不包含字符......只有字符串和数值
  • 在哪里可以找到 Apache POI 的教程?有什么不同?为什么它在这里不起作用?同样的逻辑适用于两列。对不起,我一次问太多问题。但我在这里绝望。过去 3 天一直在研究这个问题。还没有解决方案。请帮帮我。
  • 我在 ODBC 连接中未选中只读,并且还在 READONLY=false 之类的代码中添加了它,但它仍然不起作用。谁能告诉我哪里出错了?
  • 1) 你能从数据库中获取数据吗? 2)对于poi,我建议你从poi.apache.org/spreadsheet/how-to.html开始 3)区别我的意思是excel文件格式,xlsx是excel 2007+的格式,xls是旧的excel格式,poi都支持,但你需要使用不同的类,csv只是普通的文本文件,但是可以在excel中作为普通的excel文件打开和编辑
  • 哦好吧好吧。我再次进行了编码。检查返回为 1 的 SQL 状态。我还尝试在 cmd 屏幕中打印其中一个值。有效。但是当我打开excel文件时,它说'只读。锁定编辑',所以我尝试在插入后关闭连接。 ( con.close() )之后它工作了:) 所以因为连接是打开的,所以程序无法编辑它,因为它是打开的。所以关闭后它起作用了。非常感谢大家。无论如何,我也会尝试 apache poi。它似乎更容易。谢谢你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-04
  • 2019-11-17
  • 2014-08-08
  • 2021-02-09
相关资源
最近更新 更多