JAVA把excel表格的数据导入到数据库

package com.insertdatebase;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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 com.dao.DKInfoDao;
import com.dao.DaiKuanInfoIm;
import com.entity.DaiKuanInfo;
/*
 * 把excel表格的数据插入数据冷库
 * @auther guo-xqi
 */
public class TestExcel {
	// 记录类的输出信息
	static Log log = LogFactory.getLog(TestExcel.class);
	// 获取Excel文档的路径­
	public static String filePath = "D://daizhanghexiao.xls";

	public static void main(String[] args) {
		try {
			// 创建对Excel工作簿文件的引用
			HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(
					filePath));
			// 在Excel文档中,第一张工作表的缺省索引是0
			// 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);
			HSSFSheet sheet = wookbook.getSheet("Sheet1");
			// 获取到Excel文件中的所有行数
			int rows = sheet.getPhysicalNumberOfRows();
			// 遍历行
			for (int i = 0; i < rows; i++) {
				//读取左上端单元格
				HSSFRow row = sheet.getRow(i);
				// 行不为空
				if (row != null) {
					// 获取到Excel文件中的所有的列
					int cells = row.getPhysicalNumberOfCells();
					String value = "";
					// 遍历列
					for (int j = 0; j < cells; j++) {
						// 获取到列的值?
						HSSFCell cell = row.getCell((short) j);
						if (cell != null) {
							switch (cell.getCellType()) {
							case HSSFCell.CELL_TYPE_FORMULA:
								break;
							case HSSFCell.CELL_TYPE_NUMERIC:
								if (HSSFDateUtil.isCellDateFormatted(cell)) {
									value += cell.getDateCellValue() + ",";
								}else {
									value += cell.getNumericCellValue() + ",";
								}

								break;
							case HSSFCell.CELL_TYPE_STRING:
								value += cell.getStringCellValue() + ",";
								break;
							default:
								value += "0";
								break;
							}
						}
					}
					// 将数据插入到mysql数据库中
//					System.out.println(value);
//					String string="Tue Feb 04 00:00:00 CST 2014";
//					 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy",Locale.US);
//					 try {
//						Date d=sdf.parse(string);
//						sdf=new SimpleDateFormat("yyyy-MM-dd");
//
//						System.out.println(sdf.format(d));
//					} catch (ParseException e) {
//						// TODO Auto-generated catch block
//						e.printStackTrace();
//					}
					//把得到的字符串拆分
					String[] val = value.split(",");
					//给新建的对象设置值
					DaiKuanInfo dkinfo = new DaiKuanInfo();
					dkinfo.setDKPerson(val[0]);
					SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy",Locale.US);
					Date dkDate;
					try {
						dkDate = sdf.parse(val[1]);
						sdf=new SimpleDateFormat("yyyy-MM-dd");
						String dkdateString=sdf.format(dkDate);
						dkinfo.setDKDate(java.sql.Date.valueOf(dkdateString));
						dkinfo.setDkje(Double.parseDouble(val[2]));
						dkinfo.setDBPerson(val[3]);
						SimpleDateFormat simdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy",Locale.US);
						Date hkdate=simdf.parse(val[4]);
						simdf=new SimpleDateFormat("yyyy-MM-dd");
						dkinfo.setHKDate(java.sql.Date.valueOf(simdf.format(hkdate)));
					} catch (ParseException e1) {
						e1.printStackTrace();
					}
					dkinfo.setYhje(Double.parseDouble(val[5]));
					dkinfo.setQkje(Double.parseDouble(val[6]));
					//插入数据库
					DKInfoDao dkdao = new DaiKuanInfoIm();
					int boo = dkdao.addDaiKuanInfo(dkinfo);
					if (boo == 0) {
						continue;
					} else {
						break;
					}

				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

时间: 2024-08-09 06:34:57

JAVA把excel表格的数据导入到数据库的相关文章

如何把Excel中的数据导入到数据库

NPOI: using NPOI.HSSF.UserModel; using NPOI.SS.Formula.Eval; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Data; using System.IO; namespace ZZAS.HNYZ.GPSInstallManage.Common { public class ExcelHelper : IDisposable {

sqlserver怎么将excel表的数据导入到数据库中

在数据库初始阶段,我们有些数据在EXCEL中做好之后,需要将EXCEL对应列名(导入后对应数据库表的字段名),对应sheet(改名为导入数据库之后的表名)导入指定数据库, 相当于导入一张表的整个数据.导入之前需要检查是否存在同名的表,导入的数据表以"$"结尾就是为了避免表重复,以作区分.下面就来看看具体操作步骤. 1 打开SQL Server Management Studio,按图中的路径进入导入数据界面. 2 导入的时候需要将EXCEL的文件准备好,不能打开.点击下一步. 数据源:

把excel中的数据导入到数据库中的通用方法

方法/步骤 对于把大量数据存放到数据库中,最好是用图形化数据库管理工具,可是如果没有了工具,只能执行命令的话这会是很费时间的事.那我们只能对数据进行组合,把数据组成insert语句然后在命令行中批量直行即可.   我们对下面数据进行组合,这用到excel中的一个功能. 在excel中有个fx的输入框,在这里把组好的字符串填上去就好了. 注:字符串1 & A2 &字符串2 & ... A2可以直接输入,也可以用鼠标点对应的单元格.   每个字符串之间用 & 符号进行连接.下面

java实现excel表格导出数据

/** * 导出清单 eb中 firstRow(EntityBean) 列表第一行数据,键值对(不包含序号)例:("name","姓名") * data(EntityBean[]) 列表数据 * * @author zhaojq */ public PR exportData(EntityBean eb) { if (eb == null) { return new PR(0, "参数为空", null); } try { // 创建表格文件 S

把excel中的数据导入到数据库

import.php <?php header("Content-Type:text/html;charset=utf-8"); echo '<html> <body> <form action="import.php" method="post" enctype="multipart/form-data"> <label for="file">File

SpringMVC框架简单实现上传Excel文件,并将Excel中的数据导入mySQL数据库

第一步 配置DispathcherServlet文件 第二步 配置applicationContext文件 第三步 在index.jsp中 第四步 在HelloSpringmvc.java中写入方法 第五步:与数据库进行连接 第六步 mySQL实体类 第七步 操作excel表 第八步 Dao文件 第九步 测试

NPOI将Excel中的数据导入到数据库

using(FileStream fs=File.OpenRead(@"d:/MY.xls")) { IWorkbook wk = new HSSFWorkbook(fs); if (wk.NumberOfSheets>0) { ISheet sheet = wk.GetSheetAt(0); for (int i = 0; i <= sheet.LastRowNum; i++) { IRow row = sheet.GetRow(i); // //Id, Name, Pa

Excel中的数据导入到SqlServer数据库中

从SqlServer2008才开始支持导出表结构的和表中的数据,而SqlServer2008以前的数据库只支持导出表结构,有些时候我们可能需要把2008以前的数据库中的数据导出来,这个时候我们可以使用折中的方法,先把数据库导出到Excel中,再把Excel中的数据导入到数据库中(如果两台数据库服务器之间可以互通的话,可以直接建立远程链接进行数据传输,不用如此麻烦), 将SqlServer中的数据导出到Excel中比较简单,这里不再贴图,下面是把Excel中的数据导入到SqlServer中步骤:

Java -&gt; 把Excel表格中的数据写入数据库与从数据库中读出到本地 (未完善)

写入: private void insertFile(HttpServletRequest request, HttpServletResponse response) throws IOException { String path_member = request.getParameter("path_member"); List list = this.insert("f:/tmp001.xls", "gs_sale_members");