2012-02-20 85 views
0

我需要读取一个excel文件并将excel表单中的数据上传到数据库。如何将Excel表格列映射到数据库中的列?

Excel工作表将用户的信息,如名字,姓氏,电子邮件,年龄,入厂日期,国家等

我也有类似的用户数据库中的表。

我只需要读取excel表格中的每一行并插入到表格中。

但为此,我需要知道哪些列在Excel中将进入数据库表中的哪一列。

我打算使用表格中的列名称(即用户java bean的属性名称)的静态映射到Excel表格中的相应索引来完成此操作。

例如lastName映射到Excel工作表中的索引2。

如果这是正确的方法,请帮助我吗?

这样做的最佳方式是什么?

+0

您应该指定DB /语言(尽管我们可以认为它是Java)。也就是说,我认为你可能会在这里找到一个解决方案:http://www.vogella.de/articles/JavaExcel/article.html - 你可以调整它来读取每一行,并重新组织这些数据以便用JDBC/Hibernate/whatever – 2012-02-20 09:23:08

+0

此外,您可以使用第一行输入作为标签,并让应用程序在第一次迭代中为您枚举这些标头值。这意味着如果您给该列命名为“lastName”,则不一定必须坚持“lastName maps to index 2”约定,因为您可以将字符串/标签与电子表格中的索引/列相关联。这样做可能有一个更清晰的方法,但它应该可以工作,并且会比现有的解决方案提供更多的灵活性。如果您想要正确的答案,请发布上述问题的答案。 – 2012-02-20 09:39:35

+0

@Aaron牛顿。感谢你的回答。我将使用java和oracle – ashishjmeshram 2012-02-20 09:39:54

回答

0

这是没问题的。您也可以将首行作为标题(如果创建Excel表格在您的控件中)来验证字段。这是非常简单的做到这一点:

  1. 使用Apache POI来读取Excel工作表。
  2. 添加使用JDBC batch insert
+0

创建Excel工作表不在我的控制范围之内。列可能有任何标题 – ashishjmeshram 2012-02-20 09:51:14

+0

是的,那么你将不得不依靠索引,并可以有最小的验证,如字段类型检查的清醒目的。 – Nishant 2012-02-20 09:52:58

0

请按照以下步骤读取excel并插入数据库。

http://poi.apache.org/spreadsheet/index.html

1.its由Apache提供简单的API。 请注意。请确保文件名和标签名称是唯一的。 2.从csv文件中读取数据会更容易,因此可以将其插入到数据库的正常控制文件中,并且您将得到oracle的足够支持。

相关问题