java poi将excel文件导入sql service数据库
最近需要将Excel文件中3000多条数据中的几列导入到SqlServer数据库,由于以前没做过,所以请教各位大神
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
最近需要将Excel文件中3000多条数据中的几列导入到SqlServer数据库,由于以前没做过,所以请教各位大神
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
问题已经解决了,但是还是谢谢你的解答。嘿嘿。。。
很简单,使用poi无非就是导入和倒出数据,当然首先使用前你应该先百度一下什么叫做sheet,什么叫做cell和row,当然poi里面有几个对先记着:第一个:HSSFWorkbook(用来加载我们要导入的excel,相当于取得一本书),第二个:HSSFSheet(得到sheet页,得到书了当然也得到书本中的每一页),接下来我们当然应该遍历这个sheet得到每一行,要想拿到数据得到每一行当然不行,我们还需要拿到列:给你取个例子把,页面上使用poi插件
$("#button").upload({
action:'${pageContext.request.contextPath}/xxx.action'
name:'myFile',//上传的输入框的名称
onComplete:一个function方法(具体怎么用看情况)
代码里:
HSSFWorkbook workbook = new HSSFWorkbook(
new FileInputStream(myFile));//得到我们的excel
HSSFSheet sheet = workbook.getSheetAt(0); 、、加载第一个sheet(多个的话不用我说了吧。。)
然后循环sheet页,获得每一行数据
for (Row row : sheet) {
int rowNum = row.getRowNum();
if (rowNum == 0) {
continue;
} 、、 一般第一行为文件的标题行可以判断,飞过去它 ,你可以试试不写什么样子。
接下来根据行获得某一列值
String value1 = row.getCell(0).getStringCellValue();
String value2 = row.getCell(1).getStringCellValue();
然后把它封装到你的对象里。。当然每一行都要封装,所以最开始你就要县创建个集合。。。集合对象你自己封装吧
建一个实体对象映射excel中的列,读取excel中的列转为List, 使用batch对数据库进行批量插入
就是使用poi把excel中内容获取组成一个对象集合,导入数据库就是常规的循环插入呗
主要是以前没有接触过,所以比较棘手
才三千多条的话,用POI读取成List,再将你需要的列设置到实体类中,做成List再批量插入到数据库(hibernate,mybatis,jdbc等均可),大致思路,具体代码也不复杂,希望能帮到你