- 浏览: 94735 次
- 性别:
- 来自: 济南
最新评论
-
fightingIOW:
案例看了,能实现上传,但是不是异步的,怎么改成页面可以预览呢? ...
swfUpload实例 -
kizz:
您好,实例我看了,确实不错。您有struts2版的吗?现在项目 ...
swfUpload实例
第一步:
/**
* 得到导入的excel数据并进行判断,不允许有重复的身份证号
*
* @param filePath
* 上传的文件的路径
* @param tableName
* 导入数据库的表名
*/
public List excelImport(String filePath, String tableName,
String[] tableColumm) {
// 得到excel文件
File file = new File(filePath);
List list = new ArrayList();
try {
Workbook book = Workbook.getWorkbook(file);
// 得到工作簿中的第一个表索引即为excel下的sheet1,sheet2,sheet3...
Sheet sheet = book.getSheet(0);
list = excelSj(sheet, tableName, tableColumm);
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
第二步:
/**
* 导入excel表数据
*
* @param sheet
* 单元表
* @param tableName
* 导入的数据库表名
*/
public List excelSj(Sheet sheet, String tableName, String[] tableColumm) {
int rows = sheet.getRows();
List list = new ArrayList();
for (int i = 1; i < rows; i++) {
Cell[] cells = sheet.getRow(i);
if (cells.length == 0) {
continue;
} else {
// 转换excel中的数据
String[] strs = changeCells(cells, tableColumm);
// 验证excel里的内容(身份证号的位数和身份证号不允许重复)
Map map = validateCells(strs);
if (!map.isEmpty()) {
// 如果map为空则执行插入操作
addData(tableName, tableColumm, strs);
} else {
list.add(map);
}
}
}
return list;
}
第三步:
// 转换excel中的数据
public String[] changeCells(Cell[] cells, String[] tableColumm) {
int colummLength = tableColumm.length;
String[] strs = new String[colummLength];
for (int i = 0; i < cells.length; i++) {
// 看看cell为空时怎么显示的
String str = cells[i].getContents();
if (str == null || "''".equals(str)) {
strs[i] = null;
} else {
strs[i] = cells[i].getContents().trim();
}
}
return strs;
}
第四步:
// 验证excel里的内容(身份证号的位数和身份证号不允许重复)
public Map validateCells(String[] strs) {
Map map = new HashMap();
// 暂时这里写死了,实际长度为2位
if (strs[0] == null || "".equals(strs[0])) {
map.put(strs[0], strs[1]);
}
if (strs[0] != null && !"".equals(strs[0])) {
if (strs[1] == null || "".equals(strs[1])) {
map.put(strs[0], strs[1]);
} else {
// 验证身份证号是否存在
boolean flag = validateCid(strs[1]);
if (!flag) {
map.put(strs[0], strs[1]);
}
}
}
return map;
}
第五步
// 做插入数据的操作
// tableColumm 数据库中的属性 strs excel表中转换的数据
public boolean addData(String tableName, String[] tableColumm, String[] strs) {
boolean flag = false;
String sql = "";
String atrrSql = "";
String excelSql = "";
String cols = "";
String values = "";
if (strs.length > 0) {
for (int i = 0; i < tableColumm.length - 1; i++) {
atrrSql += tableColumm[i] + ",";
excelSql += "'"+strs[i] +"'"+ ",";
}
cols = atrrSql + tableColumm[tableColumm.length - 1];
values = excelSql + "'"+strs[strs.length - 1]+"'";
sql = " insert into " + tableName + "(" + cols + ") values ("
+ values + ")";
}
try {
flag = baseDao.insert(sql);
} catch (ToolException e) {
e.printStackTrace();
}
return flag;
}
导入的包
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jxl.Cell;
import jxl.LabelCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import org.apache.commons.fileupload.FileItem;
import org.apache.log4j.Logger;
import sdzn.util.page.PageData;
import dao.jdbc.databasedao.IBaseDao;
import dao.jdbc.databasedao.ToolException;
- PrepareUserInfoDao.rar (666 Bytes)
- 下载次数: 9
发表评论
-
flashPaper转换swf代码 java
2011-09-08 16:12 2859// 使用flashPaper进行 ... -
自主项目安装部署(包含文档)
2011-09-08 15:21 12221. 安装Oracle 1.1运行安装Oracl ... -
oracle 循环插入数据
2011-09-05 17:53 833declarev_LoopCounter Binary_Int ... -
oracle数据库自动备份
2011-09-05 16:13 455把/opt/oraBakSH目录权限放开:chmod -R 7 ... -
后台验证struts2的上传文件大小
2011-08-05 17:06 2166/** * 返回值true表示验证文件大小通过<br/ ... -
tomcat虚拟目录配置(lunix/windows)
2011-08-03 10:50 765虚拟目录的配置: 在</host>的前面添加: ... -
myeclipse6.5 注册码生成器
2011-07-25 09:30 1093解决开发工具myEclipse6.5 注册码过期问题 ... -
本项目中使用添加收藏和设置首页
2011-07-23 14:41 746调用链接: <a href="javascr ... -
常用的网页播放器代码
2011-07-22 16:15 921常用的网页播放器代 ... -
orale不同数据库之间,表数据的转存
2011-07-21 16:27 965不同数据库之间,数据移行 目标: 在oracle数据库 ... -
解决点击页面的查询后,刷新页面,会弹出浏览器自带的对话框
2011-07-20 17:28 9201. 现象:点击页面的查询后,刷新页面,会弹出浏览器自带的对话 ... -
防刷新重复提交 action配置(防乱码) js防刷
2011-07-20 11:35 26771. 现象:在我们系统中,新增、编辑数据后,继续刷新页面后,会 ... -
swfUpload实例
2011-07-19 13:50 10311很好的实例: 官方网站: http://swfup ... -
图片轮播js及调用
2011-07-08 10:54 16921. 图片轮播所需js // JavaScript Docu ... -
设置首页和添加收藏夹
2011-07-06 09:30 951// JavaScript Document /* *Ç ... -
java导入excel表格
2011-06-18 16:31 965一个从网上下载的很好的excel操作资料! 1 从Ex ... -
枚举的使用 实例
2011-06-17 15:44 753package utils; import java.uti ... -
js 判断文件时候为空
2011-06-16 17:30 3332/** * 初始化 选择试题列表页面,判断复选框是否选中 ** ... -
struts2 下的文件下载
2011-06-16 17:28 906推荐:Struts 2中实现文件下载(修正中文问题)http: ... -
解决linux下oracle导入数据中文乱码方案
2011-05-25 09:53 1855<script type="text/ ...
相关推荐
EXcel向数据库导入数据
在IT领域,Excel和数据库之间的数据交互是常见的需求,特别是...无论是Excel导入数据库还是数据库数据导出到Excel,都需要对数据格式、数据转换、异常处理和性能优化有深入的理解,以确保数据的准确性和系统的稳定性。
6. 调用`SqlDataAdapter.Update()`方法,将数据从数据表更新到数据库。 在这个过程中,你可能需要处理异常,确保数据验证,并优化批量插入以提高性能。例如,你可以使用`SqlBulkCopy`类一次性导入大量数据,而不是...
然而,当需要将大量数据从Excel导入到数据库时,手动操作不仅耗时,还容易出错。本篇文章将详细讲解如何实现“Excel批量导入数据库”,以及利用小工具提高效率。 一、Excel与数据库的交互原理 Excel数据批量导入...
### Excel导入数据到Oracle数据库详解 #### 一、前言 在日常工作中,我们经常会遇到需要将Excel中的数据批量导入到Oracle数据库的情况。这一过程不仅可以提高工作效率,还能确保数据的一致性和准确性。本文将详细...
在这个主题中,我们将深入探讨如何使用Java技术栈,特别是基于IDEA开发环境,来实现在JSP和Servlet中进行Excel与数据库之间的数据导入和导出。 首先,我们需要了解Java中用于处理Excel文件的库,如Apache POI。...
该工具支持从Excel文件直接导入数据到SQL Server表中,只需要指定Excel文件的位置、表名和数据源即可。 2. **VBA编程**: 对于高级用户,可以通过编写VBA宏在Excel中直接执行SQL命令,将数据插入到数据库。这种方式...
数据库导入通常涉及以下步骤: 1. **建立数据库连接**:使用适当的库(如`psycopg2` for PostgreSQL,`pyodbc` for SQL Server)创建连接。 2. **创建表结构**:根据Excel数据的结构,在数据库中创建对应的表结构,...
标题中的"DELPHI 从EXCEL导入到数据库"是一个关于使用Delphi编程语言将Excel电子表格中的数据导入到数据库的应用实例。这个话题涉及到多个IT领域的知识点,包括Delphi编程、Excel文件处理以及数据库交互。 Delphi是...
在Java编程环境中,将Excel数据导入到数据库以及将数据库数据导出到Excel是常见的数据处理需求。本篇文章将深入探讨如何使用Java实现这两个功能,主要涉及的技术栈包括Apache POI库用于操作Excel,以及JDBC(Java ...
java读取excel数据导入数据库源码 java读取excel数据导入数据库源码
在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...
在软件开发领域,特别是在企业级应用中,经常需要处理大量的数据,而 Excel 文件作为一种常见的数据存储格式,其数据导入到数据库中的需求非常普遍。本篇文章将深入探讨如何使用 C# 来实现 Excel 数据的导入,并通过...
Java实现从excel中批量高效导入数据到数据库中,包括图片的导入存储,读取图片显示在jsp页面等,需要下载JspSmartUpload.jar和jxl.jar两个jar包,将两个包导入项目才能运行
在VB(Visual Basic)编程环境中,常常需要处理数据导入导出的问题,特别是在处理大量数据时,Excel和Access数据库之间的交互显得尤为重要。标题提到的“vb批量将excel数据导入access以及批量将access数据库中的数据...
当需要处理Excel中的大量数据并将其快速导入到数据库时,C#提供了一些高效的方法来实现这一目标。本文将详细讲解如何利用C#实现Excel数据的高效导入。 首先,我们需要了解如何在C#中读取Excel文件。.NET Framework...
4. **数据映射**:在导入数据时,可能需要将Excel列与数据库表的字段进行映射,`Frm_SetColumns.cs`可能实现了这一功能,允许用户选择或指定Excel列对应数据库的哪个字段。 5. **SQL批量插入**:`Winform_...
接下来是将数据从Excel导入到SQL Server的关键步骤。这里使用了`SqlDataAdapter`和`SqlCommandBuilder`来处理数据插入操作: ```vb Dim dataTable1 As DataTable = New DataTable() Dim sqlDA1 As SqlClient....