该资源提供了一段Java代码,用于读取Excel文件中的数据并将其导入到数据库中。这段代码利用了Apache POI库来处理Excel文件,并且涉及到Spring框架的应用上下文来获取DAO对象。 在Java中,读取Excel数据并导入到数据库通常涉及到以下知识点: 1. Apache POI库:Apache POI 是一个开源项目,提供了API来读取、写入和修改Microsoft Office格式的文件,包括Excel。在这个例子中,`HSSFWorkbook` 代表一个Excel工作簿,`HSSFSheet` 表示工作簿中的工作表,`HSSFRow` 和 `HSSFCell` 分别表示行和单元格。这些类被用来遍历Excel文件中的数据。 2. 文件输入流:`FileInputStream` 类用于读取文件,它实现了从文件系统中读取字节流。在代码中,通过创建 `FileInputStream` 实例并传入Excel文件路径,可以打开并读取文件。 3. 数据处理:遍历Excel文件中的数据时,通常会将数据存储到数据结构中,如 `List` 或 `Map`。在这里,使用了 `ArrayList` 和 `HashMap` 来保存读取到的数据。`Cell` 类提供了获取单元格值的方法,如 `getStringCellValue()` 或 `getNumericCellValue()`,以便获取不同类型的值。 4. Spring框架:`ApplicationContext` 是Spring框架的核心接口,用于加载配置文件并获取Bean实例。在静态块中,通过 `ClassPathXmlApplicationContext` 加载配置文件,获取 `LabelDAO` 对象,该对象负责与数据库交互。 5. DAO(Data Access Object)模式:`LabelDAO` 是一个DAO接口,用于操作数据库中的`Label`实体。DAO模式是一种设计模式,用于封装对数据库的操作,使得业务逻辑层与数据访问层解耦。 6. 数据库操作:一旦从Excel中读取到数据,`LabelDAO` 将被用来执行插入或更新数据库的SQL语句。具体实现没有在给出的代码片段中展示,但通常会包含方法如 `insert(List<LabelPO>)` 或 `update(LabelPO)`。 7. 异常处理:在实际应用中,需要处理可能出现的异常,如 `IOException`,这是在处理文件时可能会抛出的。这段代码没有显示完整的异常处理部分,但在实际开发中,应确保所有可能抛出的异常都被适当地捕获和处理。 通过这个代码,开发者可以了解如何结合Apache POI和Spring框架来实现从Excel到数据库的数据导入功能。然而,实际的数据库操作和错误处理策略需要根据具体的需求和环境进行扩展和完善。
import com.wx.supplier.rpc.module.pubcore.dao.LabelDAO;
import com.wx.supplier.rpc.module.pubcore.po.LabelPO;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by user on 2017/9/13.
*/
public class ImportLabel {
public static ApplicationContext context = null;
private static LabelDAO labelDAO;
private static String FILE_PATH="D:/07-04 旅行团标签整理.xls";
static {
context = new ClassPathXmlApplicationContext(
"spring/applicationContext.xml");
labelDAO = context.getBean("labelDAO", LabelDAO.class);
}
public static void main(String[] arg){
ImportLabel label=new ImportLabel();
label.importLabel(0);
}
public void importLabel(int whichSheet) {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
HSSFWorkbook readBook = null;
File readFile = null;
FileInputStream fis = null;
try {
readFile = new File(FILE_PATH);
fis = new FileInputStream(readFile);
readBook = new HSSFWorkbook(fis);
HSSFSheet sheet = readBook.getSheetAt(whichSheet);
int rows = sheet.getLastRowNum();
String content = null;
for (int i = 1; i < rows + 1; i++) {
HSSFRow rowObject = sheet.getRow(i);
content = "";
Map<String, Object> map = new HashMap<String, Object>();
for (int j = 0; j <= 14; j++) {
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展