Excel导入化妆品数据到数据库
本资源是一段Java代码,主要用于在Excel文件中读取数据并将其导入到数据库中。主要关注的是Apache POI库,一个广泛用于处理Microsoft Office格式(如Excel)文件的Java API。以下是核心知识点的详细解析: 1. **导入所需库**: 代码中引用了`org.apache.poi.hssf.usermodel`包下的类,如`HSSFWorkbook`, `HSSFSheet`, `HSSFRow`, 和 `HSSFCell`,这些是处理HSSF(Horrible SpreadSheet Format)即Excel .xls文件的核心类。POIFSFileSystem用于操作包含Excel文件的低级结构。 2. **文件操作**: 使用`File`类创建一个表示Excel文件的实例,文件路径为"c:\\cosmetic.xls"。`FileInputStream`和`BufferedInputStream`用于从文件中读取数据。 3. **数据读取**: `getData`方法负责读取Excel文件的数据。它接收一个`File`对象和一个起始行号作为参数。通过遍历每一行(`HSSFRow`对象),并处理单元格(`HSSFCell`对象)获取数据,将数据存储在一个二维字符串数组`result`中。 4. **数据解析**: 读取到的`result`数组中,每一行数据被分割成三部分:标题(result[i][0])、内容(result[i][1])和类型(result[i][2])。然后创建`Cosmetic`对象,这是数据库中的实体类,用于存储这些字段。 5. **数据映射与转换**: `Cosmetic`类可能包含数据库表的字段映射,如标题可能是表中的标题列,内容可能是文本列,类型可能是枚举列。`DecimalFormat`和`SimpleDateFormat`用于日期格式化,如果数据中包含日期类型。 6. **列表操作**: 将每个`Cosmetic`对象添加到`ArrayList<Cosmetic>`中,这个列表用于后续批量插入数据库的操作。 7. **主函数**: `main`函数作为程序入口,执行数据读取、解析和导入到数据库的过程。这部分代码没有直接给出,但可以推测在实际应用中,可能会连接到数据库(例如JDBC连接),然后使用`List<Cosmetic>`来执行SQL插入语句,将数据写入数据库表。 这段代码展示了如何使用Apache POI库将Excel文件中的数据提取出来,并转化为Java对象,进而导入到数据库中,实现数据迁移和处理。这是一个常见的数据处理任务,在数据分析和系统集成中非常实用。
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
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.poifs.filesystem.POIFSFileSystem;
import com.yyt.webapp.wiki.domain.Cosmetic;
/**
* 导入数据工具类
* 描述:请按照模块格式录入数据
*
* @author fxiang
*
*/
public class ExcelOperate {
List<Cosmetic> cosmetics = new ArrayList<Cosmetic>();
File file = new File("c:\\cosmetic.xls");
String[][] result = getData(file, 1);
int rowLength = result.length;
for (int i = 0; i < rowLength; i++) {
Cosmetic c = new Cosmetic();
c.setTitle(result[i][0]);
c.setContent(result[i][1]);
c.setType(result[i][2]);
cosmetics.add(c);
}
// 遍历
for (int i = 0; i < cosmetics.size(); i++) {
System.out.println(cosmetics.get(i).getTitle() + "\t\t" + cosmetics.get(i).getContent() + " \t\t ");
}
}
/**
*
* 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行
*
* @param file
* 读取数据的源Excel
*
* @param ignoreRows
* 读取数据忽略的行数,比喻行头不需要读入 忽略的行数为1
*
* @return 读出的Excel中数据的内容
* @throws Exception
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的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二次开发入门:解决升级问题与功能扩展