- 浏览: 1119799 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1055)
- quartz定时任务 (1)
- json (9)
- 接口 (1)
- http (1)
- sccket (2)
- xmlbean (1)
- webservice (1)
- flex (1)
- sitemesh (2)
- json组装 (2)
- 存储过程 (6)
- ajax后台返回前台上下问 (3)
- flect反射机制 (1)
- 页面列表 (1)
- oracal结果集合并 (1)
- lucene (1)
- 读取配置文件工具 (1)
- 框架整合 (1)
- jms (3)
- 断点续传 (1)
- 页面之间的传值 (1)
- jpa (6)
- sql (8)
- jsp跳转 (1)
- jsp (6)
- jquery (2)
- ui (1)
- js与jsp之间的值的交互应用 (1)
- js空值判断 (1)
- Ajax (9)
- web-inf 编译目录 (1)
- 多线程 (9)
- 资料 (0)
- oracal (4)
- 多线程webservice (1)
- ztree (1)
- 加载与内容的变化 (1)
- 页面的公用变量 (1)
- web-inf目录结构 (1)
- 登陆系列 (1)
- jass应用于webservice认证 (2)
- 路径问题 (1)
- list合并 (1)
- list map中的value获取 (2)
- 标签tag (4)
- 方法 (1)
- 树形数据及其渲染 (1)
- require js 回调 (1)
- tab 页面切换 (2)
- 计时获取验证码 (1)
- 模式 (6)
- easyui (3)
- dialog (2)
- 乱码问题 (1)
- spring (29)
- sqlserver (1)
- iis,netframework (0)
- iis (1)
- netframework (1)
- 处理乱码问题 (1)
- struts-ajax (0)
- ,理论,了;,; (0)
- 排错方法 (1)
- hibernate (1)
- 二级缓存 (1)
- portal (1)
- date类型 (0)
- jvm out of memery StackOverflowError (1)
- echart数据填充 (0)
- echart (1)
- jmv (1)
- 学习 (0)
- java基础 (1)
- oracle性能优化 (1)
- 数据库三范式 (1)
- easy UI (1)
- oracle11g (1)
- form (3)
- servlet (2)
- spring mvc (1)
- htm5 (0)
- ibatise (1)
- 序列化 (1)
- tomcat双认证 (1)
- maven Lib (1)
- tomcat eclipse (2)
- ehcache (1)
- http 代替 ajax (2)
- rest (6)
- script脚本占位模板 (1)
- strust 标签 el表达式 (1)
- js bo (1)
- 公司资料 (0)
- js return (1)
- spring 第三方插件的工具类 (1)
- linux (10)
- linux 克隆 (1)
- linux xshell连接 (1)
- yum expect (1)
- linux 应用命令 (1)
- yum 缓存rmp包 (1)
- yum 本地库离线安装 (2)
- yum错误 (1)
- jsp页面用定时调用 (1)
- ajax setup (2)
- Exception,RuntimeException (1)
- 对话框 dialog (1)
- maven (17)
- PropertyPlaceholderConfigurer properties文件 (1)
- 错误集 (1)
- mybatise (0)
- 拦截器filter (1)
- http get post 区别 (1)
- rest 客户端两种返回的数据处理方式 (1)
- listener (2)
- maven工程 (1)
- ContainerResponseFilter (1)
- ajax action 打印任意实体类jsp (1)
- yum svn mvn (1)
- 分页 (1)
- angularjs (1)
- memcached (1)
- git (12)
- yyyyyyyy (0)
- oracal安装 (4)
- jaxwswebservice (1)
- spring bean (1)
- 排方法 (0)
- java 生成pdf (2)
- 创建目录 (1)
- 下载与生产pdf文件 (1)
- base64 (2)
- 配置文件 (2)
- blob (1)
- pdf (1)
- yum linux 安装Oracle (1)
- excl 插入数据库 (1)
- 搭建框架 (1)
- .classpath和jdk jre (1)
- mybatise 配置文件通配 (1)
- 用Maven插件生成Mybatis代码 (2)
- springmvc值的传递 (1)
- js jsp html (1)
- ajax跨域 (1)
- javamail (0)
- 提交复杂格式json数据 (1)
- get中文乱码/post (1)
- 弹出框,承载弹出链接----页面,显示大图 (1)
- @RequestBody list bean (1)
- 隐藏域 (1)
- 多页保存 (1)
- form 校验 (1)
- 注册,上传图片 (1)
- 登录验证 (1)
- 全局的异常处理 (0)
- 异常捕获,显示在页面 (0)
- mybatise事物配置 (1)
- maven compile (1)
- 时间格式 (1)
- js 跳转页面 (1)
- pringsecurity 角色授资源要重启服务 (0)
- Retrofi restfull (1)
- session过期推出,直接点击退出,退出 (0)
- 参数放于requestbody (1)
- maven本地仓库jar包 (1)
- 编译环境出错jdk1.6 1,7 (1)
- jsonarray ---json数组格式 (1)
- java后台文件上传,接受的2种方式 (0)
- 生成保存图片 (1)
- 权限mysql数据库Md5加密sql (1)
- mysql一对多关联查询 (1)
- mysql批量更新 (0)
- oracle in exists 区别 (1)
- https (1)
- linux发布脚本 (1)
- dubbo zookeepr (1)
- request.getParameter() (1)
- request.setAttribute() (1)
- @RequestMapping @ResponseBody (1)
- @RequestMapping @responsebody src控件 后台如何写入src值 (1)
- dwz (8)
- lib jar maven (1)
- web服务访问名称 (1)
- mvc返回内容设置,拦截 (1)
- @ResponseBody 返回json处理 (1)
- 视图,函数,存储过程 (1)
- <context:annotation-config/> (1)
- <context:component-scan/> (1)
- xml路劲通配 (2)
- 杂项 (1)
- dubbo (34)
- redis (25)
- mybatis (34)
- springmvc (15)
- js (7)
- sprinvmvc (1)
- 设计理念 (1)
- 工程 (1)
- 其他 (149)
- 导出,下载 (1)
- session (4)
- token (1)
- Exception处理 (2)
- 注解 (2)
- 框架 (3)
- shrio (1)
- login (1)
- 项目结构设计 (1)
- mybatis两种关联查询 (1)
- mybaits (2)
- 迭代模式 (1)
- oralce树形数据结构构建 (2)
- 树形结构的jsp展现 (1)
- filter intecept(Struts) (1)
- 树形结构数据的提交 (1)
- @RequestBody @RequestParam (1)
- div (1)
- equals重写 (1)
- 程序设计 (1)
- f多层for循环跳出 (1)
- 看源码 (0)
- 权限系统普遍通性 (1)
- 设计程序 (1)
- 动态拼接元素样式问题 (1)
- sql迭代 (1)
- debug断点 (1)
- spring mvc 扫描注解(ioc (1)
- di) (1)
- jdk (2)
- cglib (1)
- mybatis 多层括号(超过三层)解析不了 (1)
- tiles (2)
- cacheManager缓存的切换 (1)
- jsp,xml中el表达式等占位符中的数据操作 (1)
- jpa 及spring data jpa开发 (1)
- compareTo equals toString (1)
- 子页面用父页面js (1)
- jsp相对路径自加问题 (1)
- bean之间的相互拷贝 (1)
- DECODE (2)
- 泛型 (2)
- NVL (1)
- jsp jstl函数 用标签声明页面变量,供jstl使用,时间格式问题 (1)
- form表单切换action值 (1)
- response.getWriter().write()功能优于springMvc的返回 (1)
- 快速复制构建项目 (1)
- activeMq (15)
- cache (2)
- sql获取序列号 (1)
- 上传 (2)
- tfs (1)
- jsp标签 (2)
- qita (1)
- 触发器 (1)
- Exception (1)
- mybais (1)
- 标签 (1)
- connect by (1)
- for ... in (1)
- map转化为list (1)
- 树形结构list构建(树形实体) (1)
- 左侧菜单的设计 (1)
- response.getWriter().write() (1)
- eclipse打断点之后断无效 (1)
- 直接访问/web-inf/下的页面 (1)
- clob (1)
- freemark (1)
- 框架的设计 (1)
- get方式处理乱码 (1)
- Request的getParameter和getAttribute方法的区别 (1)
- cas (9)
- 时间格式问题 (1)
- ResponseUtil.writeToResponse (1)
- 树形数据的反选 (1)
- spring data jpa (1)
- jsp异常提示 (1)
- jquery js (1)
- eclipse (1)
- 乱码 (1)
- Json OBJETC (1)
- PROCEDURE (1)
- pl/sql oracle (1)
- 设计 (1)
- el表达式 (3)
- iframe (1)
- map (1)
- jsp中调用Java (1)
- response.getWriter().write() ajax (1)
- mybatis xml 传入参数 (0)
- response与request在返回时作用区别 (1)
- spring cache (1)
- 模型驱动 (1)
- 关于mybatis传空值的处理 (1)
- 日志配置 (1)
- mapper (1)
- mapper mybatis (1)
- mapper mybatis-spring spring-data-jpa (1)
- js插件 (1)
- spring-data-jpa (2)
- 字节流转化过程 (1)
- 数据库 (11)
- jsp页面 (1)
- 局域网络访问问题 (1)
- plsql (2)
- response (1)
- plsq (1)
- Proxool (1)
- cas security (1)
- 系统配置化 (1)
- 集群 (4)
- springboot (24)
- 设计模式 (5)
- 通知 (1)
- 架构 (48)
- zookeeper (5)
- mvc框架 (1)
- 事物隔离策略 (1)
- jvm (8)
- 调研 (1)
- Java工具类 (1)
- 并发容器 (3)
- 多线程管理器 (4)
- 简历 (0)
- 查询 (1)
- 集群工具 (1)
- springMcv (1)
- ConcurrentHashMap (1)
- hashtable (1)
- cac (1)
- 树形结构 (1)
- 定时任务 (1)
- tortoiseGit (2)
- struts (11)
- shiro (31)
- log4j (3)
- struts2 (2)
- 编码 (1)
- request (3)
- Nginx (14)
- tomcat (1)
- idea (12)
- mvc (2)
- BeanUtils (2)
- image (1)
- mino (1)
- httpClient (1)
- volecity (1)
- swagger (3)
- 调错 (0)
- data (1)
- log (1)
- shell (1)
- 事物 (3)
- junit (1)
- RestTemplate (2)
- 线程 (0)
- Exception异常处理 (1)
- Exception异常注解 (1)
- lock (1)
- HashMap (1)
- 面试 (0)
- rabbitMq (1)
- rainCat (1)
- 其它 (1)
- activemq消息传送机制以及ACK机制详解 (0)
- mysql (7)
- fildder (1)
- UML (1)
- 校验 (1)
- 反射 (1)
- 切面 (1)
- springioc (1)
- urule2 (0)
- skywalking (1)
- urule (2)
- docker (2)
- 前端 (1)
- bootstrap (1)
- eureka (2)
- springcloud (16)
- jenkins (2)
- springsecurity (1)
- 数据结构 (4)
- gradle (1)
- mycat (3)
- nacos (1)
- canary (1)
- 线程池 (1)
- solr (1)
- resteasy (2)
- BI (1)
- dfs (2)
- elasticsearch (1)
- ruby (1)
- logstash (1)
- clickhouse (2)
- davinci (15)
- java (1)
- davinvi (1)
- fastdfs (1)
- vue (1)
- 《将博客搬至CSDN》 (1)
最新评论
-
nizhipeng123:
private SessionFactory sessio ...
用map接收参数的几个注意的问题
电梯险
public class FileImportVSImpl implements FileImportVS {
public String savePolicyInfoImport(FileImportResultVO vo) {
String RsStr = "";
ExcelService excelService = new ExcelServiceImpl();
ImportResult importResult = null;
String operator = BusinessContextUtils.getUserContext().getOperatorId(); //操作人员
String operator_time =DBControl.DateFormat4Str(CommonJdbcDaoUtils.getSystemDate(),"yyyyMMddHHmmss"); //操作时间
String branch_code = DBControl.getBranchcode(); //获取该用户的组织机构代码
if(vo.getFiledataFileName().endsWith(".xls")||vo.getFiledataFileName().endsWith(".XLS")) {
try {
importResult = excelService.read(new FileInputStream(vo.getFiledata()), 1);
if(importResult.getResultList().size()>0){
String batch_no = DBControl.getSeqVal("seq_logging_infos");
for (int i=1;i<importResult.getResultList().size();i++) {
// StringBuffer sql = new StringBuffer(" insert into tb_temp_policy_info t ( t.id,t.batch_number,t.branch_code,t.serial_number,t.policy_holder,t.made_by," );旧模板sql先留住
// sql.append(" t.serviced_by,t.managed_by,t.elevator_owner,t.building_nature,t.elevator_classes")
// .append(" ,t.security_marksno,t.registration_code,t.install_address,t.contract_no,t.device_id,t.register_department,")
// .append(" t.inspected_by,t.next_inspection,t.emergency_phone,t.production_date,t.load_limit_no,t.elevator_type,t.effective_date,t.expiry_date)")
// .append(" values ( FUNC_GET_SEQ_VAL('seq_temp_policy_info') , '").append(batch_no).append("','").append(branch_code);
StringBuffer sql = new StringBuffer(" insert into tb_temp_policy_info t ( t.id,t.batch_number,t.branch_code,t.serial_number,t.policy_holder,t.made_by," );
sql.append(" t.serviced_by,t.managed_by,t.elevator_owner,t.building_nature,t.elevator_classes")
.append(" ,t.security_marksno,t.registration_code,t.install_address,t.contract_no,t.device_id,t.register_department,")
.append(" t.inspected_by,t.next_inspection,t.emergency_phone,t.production_date,t.load_limit_no,t.role,t.branch_code_tb,t.address,t.post,t.tel,t.effective_date,t.expiry_date,t.rate,t.mail)")
.append(" values ( FUNC_GET_SEQ_VAL('seq_temp_policy_info') , '").append(batch_no).append("','").append(branch_code);
int colsum = importResult.getResultList().get(i).size();
if(colsum!=28){
throw new BusinessException("第"+i+"行数据的列数为"+colsum+"不符合要求,请重新上传");
}
for(int j=0;j<28;j++){
sql.append("','").append(importResult.getResultList().get(i).get(j));
}
sql.append("')");
CommonJdbcDaoUtils.update(sql.toString());
}
String sql_log = "insert into tb_logging_infos (id,file_name,Start_date,end_date,operator,branch_code,batch_sum) values (?,?,to_date(?,'yyyyMMddhh24miss'),sysdate,?,?,"+(importResult.getResultList().size()-1)+")";
CommonJdbcDaoUtils.update(sql_log, batch_no,vo.getFiledataFileName(),operator_time,operator,branch_code);
RsStr = batch_no ;
}
} catch (FileNotFoundException e) {
RsStr = "";
throw new BusinessException("上传文件失败:" + e.getStackTrace().toString());
} catch (Exception e) {
e.printStackTrace();
throw new BusinessException("上传文件失败:请检查模板数据是否符合要求!");
}
} else {
RsStr = "";
throw new BusinessException("上传文件必须为excel 2003版本以上格式!");
}
return RsStr;
}
public class FileImportVSImpl implements FileImportVS {
public String savePolicyInfoImport(FileImportResultVO vo) {
String RsStr = "";
ExcelService excelService = new ExcelServiceImpl();
ImportResult importResult = null;
String operator = BusinessContextUtils.getUserContext().getOperatorId(); //操作人员
String operator_time =DBControl.DateFormat4Str(CommonJdbcDaoUtils.getSystemDate(),"yyyyMMddHHmmss"); //操作时间
String branch_code = DBControl.getBranchcode(); //获取该用户的组织机构代码
if(vo.getFiledataFileName().endsWith(".xls")||vo.getFiledataFileName().endsWith(".XLS")) {
try {
importResult = excelService.read(new FileInputStream(vo.getFiledata()), 1);
if(importResult.getResultList().size()>0){
String batch_no = DBControl.getSeqVal("seq_logging_infos");
for (int i=1;i<importResult.getResultList().size();i++) {
// StringBuffer sql = new StringBuffer(" insert into tb_temp_policy_info t ( t.id,t.batch_number,t.branch_code,t.serial_number,t.policy_holder,t.made_by," );旧模板sql先留住
// sql.append(" t.serviced_by,t.managed_by,t.elevator_owner,t.building_nature,t.elevator_classes")
// .append(" ,t.security_marksno,t.registration_code,t.install_address,t.contract_no,t.device_id,t.register_department,")
// .append(" t.inspected_by,t.next_inspection,t.emergency_phone,t.production_date,t.load_limit_no,t.elevator_type,t.effective_date,t.expiry_date)")
// .append(" values ( FUNC_GET_SEQ_VAL('seq_temp_policy_info') , '").append(batch_no).append("','").append(branch_code);
StringBuffer sql = new StringBuffer(" insert into tb_temp_policy_info t ( t.id,t.batch_number,t.branch_code,t.serial_number,t.policy_holder,t.made_by," );
sql.append(" t.serviced_by,t.managed_by,t.elevator_owner,t.building_nature,t.elevator_classes")
.append(" ,t.security_marksno,t.registration_code,t.install_address,t.contract_no,t.device_id,t.register_department,")
.append(" t.inspected_by,t.next_inspection,t.emergency_phone,t.production_date,t.load_limit_no,t.role,t.branch_code_tb,t.address,t.post,t.tel,t.effective_date,t.expiry_date,t.rate,t.mail)")
.append(" values ( FUNC_GET_SEQ_VAL('seq_temp_policy_info') , '").append(batch_no).append("','").append(branch_code);
int colsum = importResult.getResultList().get(i).size();
if(colsum!=28){
throw new BusinessException("第"+i+"行数据的列数为"+colsum+"不符合要求,请重新上传");
}
for(int j=0;j<28;j++){
sql.append("','").append(importResult.getResultList().get(i).get(j));
}
sql.append("')");
CommonJdbcDaoUtils.update(sql.toString());
}
String sql_log = "insert into tb_logging_infos (id,file_name,Start_date,end_date,operator,branch_code,batch_sum) values (?,?,to_date(?,'yyyyMMddhh24miss'),sysdate,?,?,"+(importResult.getResultList().size()-1)+")";
CommonJdbcDaoUtils.update(sql_log, batch_no,vo.getFiledataFileName(),operator_time,operator,branch_code);
RsStr = batch_no ;
}
} catch (FileNotFoundException e) {
RsStr = "";
throw new BusinessException("上传文件失败:" + e.getStackTrace().toString());
} catch (Exception e) {
e.printStackTrace();
throw new BusinessException("上传文件失败:请检查模板数据是否符合要求!");
}
} else {
RsStr = "";
throw new BusinessException("上传文件必须为excel 2003版本以上格式!");
}
return RsStr;
}
相关推荐
2. **读取Excel**:使用TJvExcelAppComp或者第三方库打开并读取Excel文件,将数据存入内存结构如数组或记录集。 3. **转化数据**:根据数据库表结构,将Excel数据转化为对应的字段值。 4. **插入数据**:通过...
例如,读取Excel文件后,可以对数据进行清洗和预处理,再通过SQL语句批量插入到数据库中。 数据库导入通常涉及以下步骤: 1. **建立数据库连接**:使用适当的库(如`psycopg2` for PostgreSQL,`pyodbc` for SQL ...
内容概要:本资源介绍了如何从...阅读建议:此资源以如何读取Excel数据,将Excel数据转换为Datatable格式,然后将datatable导入Mysql数据库 ,同时还介绍了如何将Datatable数据生成Excel表格,及相关NPOI操作Excel例子
EasyExcel提供了一种多线程并发读取Excel数据的方式,通过`readSheetHandler`和`executeParallel`方法,可以将读取任务分配到多个线程中执行。每个线程独立处理一部分行数据,这样可以显著提升数据处理速度。 3. *...
##### 3.3 将 DataTable 数据插入数据库 在 `button2_Click` 方法中,我们遍历 `DataTable` 中的所有行,并调用 `insertToSql` 方法将每行数据插入到数据库中。 ```csharp private void button2_Click(object ...
2. **利用PL/SQL程序**:编写PL/SQL存储过程或者匿名块,通过Oracle的DBMS_LOB和UTL_FILE包读取Excel文件内容,逐行处理并插入到数据库中。这种方法灵活性高,可以处理复杂的转换逻辑,但需要一定的编程技能。 3. *...
这一过程通常涉及到两个主要步骤:读取Excel数据和与数据库进行交互。 首先,我们来看C#读取Excel数据的部分。在.NET框架中,可以使用多种库来实现这一功能,如NPOI、EPPlus或Microsoft.Office.Interop.Excel。NPOI...
然后,创建一个控制器(Controller),编写读取Excel和插入数据库的逻辑。下面是一段示例代码: ```php namespace app\controller; use think\Db; use PHPExcel_IOFactory; class ImportExcelController { ...
首先,确保已安装`pandas`和`openpyxl`库(`openpyxl`是pandas读取Excel文件的依赖库之一)。通过以下代码读取Excel文件: ```python import pandas as pd excel_file = 'your_excel_file.xlsx' data = pd....
以下是一个简单的VBA代码示例,用于读取Excel的第一个工作表的第一列数据: ```vba Sub ReadExcelData() Dim ws As Worksheet Dim rng As Range Dim i As Long Set ws = ThisWorkbook.Sheets(1) Set rng = ...
在.NET框架中,WinForm应用程序可以借助C#语言与Office Interop库来读取Excel文件,然后将数据导入到数据库的相应表中。这个过程涉及多个步骤,包括Excel文件的操作和数据库的交互。以下是详细的知识点说明: 1. **...
#### 使用ODBC驱动读取Excel 为了连接到Excel文件并从中读取数据,我们需要使用ODBC(Open Database Connectivity)驱动。这里使用了`GetExcelDriver()`函数来获取Excel的ODBC驱动名,然后通过`CDatabase::Open`...
这个功能在数据处理和分析时非常实用,尤其是在需要从Excel表格批量更新或插入数据库记录的情况下。 首先,我们要理解ASP如何与Excel和Access交互。ASP可以使用ADODB(ActiveX Data Objects)库来连接和操作数据库...
本实例主要关注如何使用POI技术读取Excel数据并将其存储到MySQL数据库中。这个过程通常分为几个步骤:导入必要的库、创建Excel文件对象、读取数据、连接MySQL数据库以及将数据插入或更新到数据库。 首先,我们需要...
易语言支持SQL命令的执行,可以用于查询、插入、更新和删除Excel数据。例如,以下代码将查询Excel中的所有数据: ```易语言 .创建数据库命令 对象名为 数据库命令1, 数据库连接1 .设置SQL语句 数据库命令1, ...
例如,使用EPPlus,可以这样读取Excel数据: ```csharp using OfficeOpenXml; //... FileInfo fileInfo = new FileInfo("path_to_your_excel_file.xlsx"); ExcelPackage.LicenseContext = LicenseContext....
2. **数据解析**:读取Excel文件内容后,程序需要解析数据,这可能需要用到易语言的字符串处理和数组操作命令。Excel数据通常以行和列的形式存在,解析时要将其转换为易于处理的数据结构。 3. **连接数据库**:建立...
描述中提到的“从excel文件把表格内容读取出来并写入到数据库中”,说明这个程序能够读取Excel文件的各个工作表,解析其中的数据行和列,并将其转换为适合数据库存储的格式。此外,“还做了数据校验”意味着在数据...
总结来说,"读取Excel文件并导入MySQL数据库"这个任务涵盖了Java对Excel文件的操作、数据库连接、数据插入以及可能的GUI设计。这些技术在实际的业务系统中非常常见,尤其在数据处理和导入导出功能的实现上。理解并...
- 使用Java编程语言,可以借助Apache POI库来读取Excel文件(.xls或.xlsx)。POI提供了HSSF和XSSF两个API,分别用于处理老版本的Excel(97-2003)和新版本的Excel(2007及以上)。 - Excel数据通常被组织成工作表...