项目中需要读取一些客户提供的EXCEL文件
需要将这些数据保存到数据库中
这就需要使用POI对excel进行读取
主要思路:
1,使用POI读取excel中每行的数据作为一条记录,对应生成一条insert语句
2,需要对应字段,也就是Excel中的sheet对应表,列对应field
3,如果excel是模板式数据,即每列代表什么是规定好的,那么很简单,通过硬编码来实现
4,如果excel是动态的,列的顺序不固定,但是总体是固定的,那就需要通过字段匹配来实现了,硬编码就不可取啦!动态匹配思路:通过XML将映射关系对应起来,程序中读取XML将映射关系保存到MAP中,列名作为key,对应数据库中的field作为value。
5.使用POI读取每个cell的值,读完一行后就可以生成一条insert语句
另外,由于我所在项目中遇到的excel是固定的模板式数据,通过硬编码来读取excel的
即,针对每张sheet执行一次命令,在执行命令的时候传入需要的参数
在程序中将读取到的cell与field对应上就能生成正确的sql!
另外,在同事的建议下,将该功能写为了一个小工具
一个可执行的jar文件
其它同事只需要执行jar命令 并在后面传递参数就能生成SQL语句了!
--------------------------------------------------------------------
可执行jar
1.定义一个java类,类中有main方法
2.main方法的args[]参数接受输入的数据
3.完成功能
4.编写manifest文件,放置到src目录下
示例:
文件名: mymanifest.mf
内容如下(注意冒号后面加空格):
Manifest-Version: 1.0
Main-Class: scms.excel2sql.Excel2SqlService
Class-Path: lib/poi-3.6.jar
Created-By: hqh
5.命令行中通过命令生成jar
首先需要切换到src目录下,将lib文件夹拷贝到src目录下
jar cvfm excel2sql.jar mymanifest.mf ./
这样就生成了excel2sql.jar
6.执行jar
java -jar excel2sql.jar dir excelFileName sheetIndex tableName field1,field2,field3...
到此完成任务!
需要改进的地方:
由于现学现用,jar包好像没有将依赖的POI一并打入,或许是manifest中classpath路径配置有问题。将生成的jar文件放到其它地方时,会抛异常,发现是需要lib中的poi.jar,但是我打jar包时候程序输出表明已经打入了,对此不解。
当把lib放到jar的同级目录下时,就能正常执行。
空了再研究下,有点累!
分享到:
相关推荐
Apache POI提供了丰富的API,可以实现对Excel文件的复杂操作,如合并单元格、设置样式、处理公式等。在Android开发中,这些功能同样适用,但需要注意资源管理,因为Android设备的内存有限。 总的来说,Apache POI是...
在这个场景中,我们将详细探讨如何使用Java POI读取Excel文件中的数据,包括获取总行数、列数、单元格内容、合并单元格、行高、列宽以及图片等信息。 首先,确保在项目中已经引入了Apache POI的依赖库。如果你使用...
Java 使用 POI 读取 Excel 文件 Java 是一种广泛使用的编程语言,而 Excel 是一种常用的电子表格软件。有时候,我们需要在 Java 程序中读取 Excel 文件的内容,例如将 Excel 表格中的数据导入到数据库中或者进行...
本篇文章将详细介绍如何使用 POI 来读取 Excel 文件。 1. **安装与引入 POI** 在使用 POI 之前,你需要先将其添加到你的项目依赖中。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加以下依赖: ```xml ...
在“poi读取excel文件实例”中,我们将讨论如何使用Apache POI API来读取和操作Excel 2007文件。以下是一些关键知识点: 1. **创建工作簿对象**:首先,你需要通过`WorkbookFactory`类的`create()`方法打开或创建一...
基于新版本的POI编写的读取Excel文件数据的工具类,可根据绝对路径、File对象、InputSteam对象读取解析Excel文件内容,并返回List<List<String>>格式结果,其中包含对单元格公式的处理。
Java 使用 POI 读取 Excel 文件 Java 中使用 Apache POI 库可以轻松地读取 Excel 文件,下面将详细介绍如何使用 POI 读取 Excel 文件。 什么是 Apache POI? Apache POI 是一个开源的 Java 库,由 Apache 软件...
Java 使用 Apache POI 读取 Excel 文件是一种常见的数据处理任务,尤其在数据分析、报表生成以及自动化测试等场景中。Apache POI 是一个流行的开源库,它允许开发者在 Java 应用程序中创建、修改和显示 Microsoft ...
// 使用POI读取Excel文件 XSSFWorkbook workbook = new XSSFWorkbook(is); XSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表 for (Row row : sheet) { // 遍历行,处理每个单元格 for (Cell ...
本教程将详细介绍如何使用Apache POI读取Excel文件,并提供一个适合导入数据库的解决方案。 首先,Apache POI提供了一个名为`HSSFWorkbook`的类,用于处理Excel的`.xls`格式(Excel 97-2007格式),而`XSSFWorkbook...
在本示例"Java POI读取Excel文件基本用法Demo"中,我们将深入探讨如何使用Java POI库来读取Excel文件。 首先,我们需要在项目中引入Apache POI的依赖。对于Maven项目,可以在pom.xml文件中添加以下依赖: ```xml ...
使用poi解析excel文件,并将数据写入到数据库 项目说明 这个项目实现的功能是读取excel文件中的数据,解析并写入数据库。 读取的excel文件位于项目目录下的 excel\0805.xlsx 使用IntelliJ IDEA开发此项目 使用MYSQL...
总的来说,这段代码展示了如何使用Apache POI读取Excel文件,包括获取单元格内容、处理不同类型的单元格以及格式化日期。在实际项目中,你可以根据需求扩展这个类,例如添加写入Excel、处理多个工作表或支持.xlsx...
### Java使用POI读取Excel文件教程 #### 一、Excel基础 Microsoft Excel 97 文件格式被称为 BIFF8(Binary Interchange File Format),而之后的版本如 Excel 2000、2002 和 2003 对此格式进行了微小的改进。这些...
总结起来,Apache POI为Java开发者提供了一种强大且灵活的方式来处理Excel文件,无论是通过Servlet从服务器生成文件,还是在本地通过main方法创建文件。理解如何使用POI库可以帮助你更好地集成Excel功能到你的Java...
这篇博文主要讲解如何使用Apache POI库来读取Excel文件的内容,无论是2003版的.XLS还是2007版及以后的.XLSX格式。 在Java编程中,Apache POI 提供了丰富的API,使得开发者可以方便地操作Excel文件。首先,我们需要...
除了基本的读取,Apache POI还支持对Excel文件进行更复杂的操作,例如修改单元格内容、添加新行和工作表、设置样式、公式计算等。在实际开发中,你可以根据需求灵活运用这些功能。 这个例子中的"源码"标签意味着你...
在Java编程环境中,如果你需要读取或写入Excel文件,POI 提供了强大的支持。本教程将深入讲解如何使用POI的HSSF组件来处理Excel 97-2003格式的文件(BIFF8格式)。 一、Excel基础 Excel 97 文件格式,也被称作BIFF8...