- 浏览: 125491 次
- 性别:
- 来自: 南京
-
文章分类
- 全部博客 (97)
- Jquery (3)
- Oracle (11)
- JS (12)
- Struts2 (4)
- java (17)
- 课程 (1)
- Jboss (0)
- EJB (0)
- MAVEN (1)
- Design Pattern (0)
- css (2)
- axis1.4 (2)
- hessian (1)
- big data (1)
- Tomcat (3)
- redis (1)
- OVAL validate (1)
- express (1)
- eclipse (1)
- name node 无法启动 (1)
- hadoop (2)
- mysql (1)
- spring (1)
- sbt (1)
- angular (1)
- cas (1)
- JSSDK (1)
- 微信支付 (1)
- 小程序 (1)
- mybatis (1)
- jxta (1)
- idea (2)
- lay ui (1)
- sofa (1)
最新评论
-
duanwenping520:
这也太省事了把!
sj22
else if (type.equalsIgnoreCase("import")){
// 需要插入的表名
String tableName = LxForm.getString("table");
DBConn dbconn = new DBConn();
// 获取流
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
if (!DiskFileUpload.isMultipartContent(request)) {
out.println("只能处理multipart/form-data类型的数据!");
return mapping.findForward("failure");
}
MultipartRequestHandler mrh = LxForm.getMultipartRequestHandler();
Hashtable elements = mrh.getFileElements();
Collection files = elements.values();
// 处理每个表单字段
Iterator i = files.iterator();
while (i.hasNext()) {
try {
FormFile fi = (org.apache.struts.upload.FormFile) i.next();
InputStream is = fi.getInputStream();// 得到文件流
Workbook wb = Workbook.getWorkbook(is);
int sheet_size = wb.getNumberOfSheets();//得到excel文件的sheet个数
int sheetRows=0;//初始化读取的行数
System.out.println("开始读取EXCEL");
Vector v = new Vector();
if ("LxDepFileReg".equalsIgnoreCase(tableName)) {
for(int index=0;index<sheet_size;index++){
Sheet sheet =wb.getSheet(index);
int rowNum=sheet.getRows();
if(rowNum==0||rowNum==1){
break;
}else{
//取标题前两列验证
Cell cellflag1 =sheet.getCell(0, 0);
String flagValue1= cellflag1.getContents();
Cell cellflag2 = sheet.getCell(1, 0);
String flagValue2 = cellflag2.getContents();
if(flagValue1.trim().indexOf("来文时间")==-1||flagValue2.trim().indexOf("来文单位")==-1){
request.setAttribute("tableName", tableName);
request.setAttribute("message","成员单位来文管理表前两列标题 :(来文时间,来文单位)顺序不匹配 或者表头信息不对");
return mapping.findForward("importLxDepFileReg");
}
for (int m = 0; m < rowNum - 1; m++) {
LxDepFileReg ldf= new LxDepFileReg();
// 开始读取EXCEL了
// 列 、行
Cell c0 = sheet.getCell(0, m + 1);
String strc0 = c0.getContents();
Cell c1 = sheet.getCell(1, m + 1);
String strc1 = c1.getContents();
Cell c2 = sheet.getCell(2, m + 1);
String strc2 = c2.getContents();
if(c0.getType()==CellType.DATE)
{
DateCell datec00 = (DateCell)c0;
Date dt = datec00.getDate();
TimeZone gmt = TimeZone.getTimeZone("GMT");
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.getDefault());
dateFormat.setTimeZone(gmt);
String str = dateFormat.format(dt);
ldf.setRegTime(str);
} else {
ldf.setRegTime(strc0);
}
AccountActionForm acctForm = (AccountActionForm) request.getSession().getAttribute("accountForm");
String userName=acctForm.getAccount().getUname();
ldf.setUserName(userName);
ldf.setDepName(strc1);
ldf.setRegTitle(strc2);
v.add(ldf);
}
System.out.println("读取结束");
List<LxDepFileReg> list = v;
System.out.println("总共:" + list.size() + "行数据");
for (int j = 0; j < list.size(); j++) {
LxDepFileReg temp = list.get(j);
String depid="";
if(temp.getDepName()!=""){
String sql="select dep_mid from lx_dep_memberinfo where trim(dep_mname)='"+temp.getDepName()+"' ";
ResultSet rs=dbconn.executeQuery(sql);
if (!rs.next()){
//如果不存在此单位,则加入此单位到单位信息表
String insql = "insert into lx_dep_memberinfo(dep_mid,dep_mname) values (seq_lx_dep_memberinfo.nextval,'"+temp.getDepName()+"')";
dbconn.execute(insql);
String sqlString = "commit";
dbconn.execute(sqlString);
}
}
String insertSql =
"insert into lx_depfile_reg (reg_Id,dep_Name, reg_Time, reg_Title, add_Date,upd_Note)" +
"select seq_lx_depfile_reg.nextval,c.dep_mid,'"+temp.getRegTime()+"','"+temp.getRegTitle()+"',to_char(sysdate,'YYYY-MM-DD hh:mm:ss'),'"+temp.getUserName()+"'||to_char(sysdate,'YYYY-MM-DD hh:mm:ss') from dual , lx_dep_memberinfo c where c.dep_MName='"+temp.getDepName()+"' ";
dbconn.execute(insertSql);
System.out.println(insertSql);
String sqlString = "commit";
dbconn.execute(sqlString);
}
}
sheetRows+=v.size();
v = new Vector(); //清空每次读取的sheet容器
}
request.setAttribute("tableName", tableName);
request.setAttribute("message","成功导入" + sheetRows + "条信息");
return mapping.findForward("importLxDepFileReg");
// 需要插入的表名
String tableName = LxForm.getString("table");
DBConn dbconn = new DBConn();
// 获取流
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
if (!DiskFileUpload.isMultipartContent(request)) {
out.println("只能处理multipart/form-data类型的数据!");
return mapping.findForward("failure");
}
MultipartRequestHandler mrh = LxForm.getMultipartRequestHandler();
Hashtable elements = mrh.getFileElements();
Collection files = elements.values();
// 处理每个表单字段
Iterator i = files.iterator();
while (i.hasNext()) {
try {
FormFile fi = (org.apache.struts.upload.FormFile) i.next();
InputStream is = fi.getInputStream();// 得到文件流
Workbook wb = Workbook.getWorkbook(is);
int sheet_size = wb.getNumberOfSheets();//得到excel文件的sheet个数
int sheetRows=0;//初始化读取的行数
System.out.println("开始读取EXCEL");
Vector v = new Vector();
if ("LxDepFileReg".equalsIgnoreCase(tableName)) {
for(int index=0;index<sheet_size;index++){
Sheet sheet =wb.getSheet(index);
int rowNum=sheet.getRows();
if(rowNum==0||rowNum==1){
break;
}else{
//取标题前两列验证
Cell cellflag1 =sheet.getCell(0, 0);
String flagValue1= cellflag1.getContents();
Cell cellflag2 = sheet.getCell(1, 0);
String flagValue2 = cellflag2.getContents();
if(flagValue1.trim().indexOf("来文时间")==-1||flagValue2.trim().indexOf("来文单位")==-1){
request.setAttribute("tableName", tableName);
request.setAttribute("message","成员单位来文管理表前两列标题 :(来文时间,来文单位)顺序不匹配 或者表头信息不对");
return mapping.findForward("importLxDepFileReg");
}
for (int m = 0; m < rowNum - 1; m++) {
LxDepFileReg ldf= new LxDepFileReg();
// 开始读取EXCEL了
// 列 、行
Cell c0 = sheet.getCell(0, m + 1);
String strc0 = c0.getContents();
Cell c1 = sheet.getCell(1, m + 1);
String strc1 = c1.getContents();
Cell c2 = sheet.getCell(2, m + 1);
String strc2 = c2.getContents();
if(c0.getType()==CellType.DATE)
{
DateCell datec00 = (DateCell)c0;
Date dt = datec00.getDate();
TimeZone gmt = TimeZone.getTimeZone("GMT");
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.getDefault());
dateFormat.setTimeZone(gmt);
String str = dateFormat.format(dt);
ldf.setRegTime(str);
} else {
ldf.setRegTime(strc0);
}
AccountActionForm acctForm = (AccountActionForm) request.getSession().getAttribute("accountForm");
String userName=acctForm.getAccount().getUname();
ldf.setUserName(userName);
ldf.setDepName(strc1);
ldf.setRegTitle(strc2);
v.add(ldf);
}
System.out.println("读取结束");
List<LxDepFileReg> list = v;
System.out.println("总共:" + list.size() + "行数据");
for (int j = 0; j < list.size(); j++) {
LxDepFileReg temp = list.get(j);
String depid="";
if(temp.getDepName()!=""){
String sql="select dep_mid from lx_dep_memberinfo where trim(dep_mname)='"+temp.getDepName()+"' ";
ResultSet rs=dbconn.executeQuery(sql);
if (!rs.next()){
//如果不存在此单位,则加入此单位到单位信息表
String insql = "insert into lx_dep_memberinfo(dep_mid,dep_mname) values (seq_lx_dep_memberinfo.nextval,'"+temp.getDepName()+"')";
dbconn.execute(insql);
String sqlString = "commit";
dbconn.execute(sqlString);
}
}
String insertSql =
"insert into lx_depfile_reg (reg_Id,dep_Name, reg_Time, reg_Title, add_Date,upd_Note)" +
"select seq_lx_depfile_reg.nextval,c.dep_mid,'"+temp.getRegTime()+"','"+temp.getRegTitle()+"',to_char(sysdate,'YYYY-MM-DD hh:mm:ss'),'"+temp.getUserName()+"'||to_char(sysdate,'YYYY-MM-DD hh:mm:ss') from dual , lx_dep_memberinfo c where c.dep_MName='"+temp.getDepName()+"' ";
dbconn.execute(insertSql);
System.out.println(insertSql);
String sqlString = "commit";
dbconn.execute(sqlString);
}
}
sheetRows+=v.size();
v = new Vector(); //清空每次读取的sheet容器
}
request.setAttribute("tableName", tableName);
request.setAttribute("message","成功导入" + sheetRows + "条信息");
return mapping.findForward("importLxDepFileReg");
发表评论
-
微信 h5 分享
2019-09-30 09:53 258微信 h5分享 1.前端jsp 需要去除追加字符,传到后端进行 ... -
url 二级域名匹配
2016-10-14 16:32 590private static void urlMatche(S ... -
Https Basic Auth
2016-03-21 15:16 1207最近测试 Https 连接,遇到了些问题。 1. Cause ... -
unicdoe 转码
2015-12-04 16:15 502开始以为是乱码,我日。 http://www.faqs.org ... -
eclipse中取消show in Breadcrumb方法
2015-11-23 18:01 1677eclipse中取消show in Breadcrumb方法 ... -
sqserver order by 与java compareTo ,xml sting getBytes乱码
2015-08-04 23:10 6011.sqlsever orderby 顺序,取出list, 然 ... -
手动构建xml xls 日期 datetime number type
2014-10-28 19:07 1396http://ewbi.blogs.com/develops/ ... -
压缩 inputstream to zipoutputstream to bytearrayoutputstream
2014-10-21 20:06 1580http://stackoverflow.com/questi ... -
JMX demo
2014-02-07 11:05 945http://docs.oracle.com/javase/6 ... -
xsl dom 一个xml 引用另一个xml的某些节点
2014-02-07 11:07 659http://www.coderanch.com/t/1263 ... -
servlet 线程安全 application.setattribute,加上synchronized
2013-03-20 20:35 1669http://www.alixixi.com/Dev/Web/ ... -
sj22
2013-01-09 21:37 1020Organizations 字段名 含义 类型 缺省值 备 ... -
xerces jar和dom,jaxb解析冲突的解决方法
2012-10-12 22:41 32651.采用dom解析的时候,遇到Xerces.jar,会出现 E ... -
jaxb style
2012-10-12 11:55 719http://www.coderanch.com/t/4952 ... -
jsp out.print 乱码
2014-02-07 11:07 1310response.setContentType( " ... -
定时器使用Timer,timerTask
2012-02-01 17:14 8451.每隔10分钟触发 web.xml <listener ...
相关推荐
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...
这个"asp将EXCEL导入导出数据库原程序"提供了一个解决方案,能够方便地将Excel中的数据存入MSSQL数据库,同时也能将数据库中的数据导出到Excel文件。 首先,我们需要了解如何使用ASP连接MSSQL数据库。通常,这涉及...
Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出Excel导入导出
Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel导入导出Thinkphp5整合excel...
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...
在IT行业中,Excel导入导出性能优化是一个常见且重要的议题,尤其对于处理大量数据的应用程序。Excel文件格式广泛用于数据存储和分析,但其导入和导出操作可能会对系统性能产生显著影响,尤其是在高并发环境下。以下...
thinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel...
万能的Excel导入导出工具. 支持从List中导出. 支持从List中导入导出. 支持从List里面还有List<POJO>>中导入导出. 支持导出类似课程表结构类型纵表. 支持国际化. 支持数据字典. 支持单元格中下拉框数据校验. 支持自动...
Excel导入导出插件是一种工具,它扩展了Excel的功能,使得用户能够方便地从电子表格中导入数据到其他系统,或者从外部数据源导出数据到Excel进行分析和处理。这种插件通常用于数据迁移、数据整合或数据分析,特别是...
在Excel导入导出的场景下,通常会通过HTTP请求来触发操作,如上传Excel文件、下载导出的文件等。C#代码会被封装到ASP.NET的Page或Controller中,以处理这些请求。 6. **文件上传**: - ASP.NET提供了FileUpload...
针对Office 2003和Office 2007版本的Excel导入导出功能,开发者通常需要编写特定的代码来实现自动化操作。"Excel导入导出封装"是一个专门解决这一问题的测试类库,旨在简化这一过程,提高开发效率。 首先,我们要...
Java实现Excel导入导出是Java开发中常见的任务,主要用于数据的批量处理和分析,尤其在数据分析、报表生成和数据备份等方面具有广泛应用。要熟练掌握这一技术,开发者需要了解Excel文件的结构,熟悉Java的文件操作,...
Excel导入导出是常见的需求,例如数据处理、报表生成和数据分析等。本篇文章将详细探讨C#如何实现Excel的导入导出功能。 首先,我们需要知道在C#中操作Excel有两种主要方式:一是使用Microsoft.Office.Interop....
在Struts2中,要实现Excel导入导出,我们需要以下组件: 1. **Apache POI库**:这是一个用于读写Microsoft Office格式文件的Java库,包括Excel。我们可以用它来创建、修改和读取Excel文件。 2. **Struts2 Action**...
在提供的压缩包文件中,可能包含已经封装好的方法和DLL,这些预封装的方法简化了Excel导入导出的过程,使得开发者可以直接调用,而无需关心底层的实现细节。这通常会提高开发效率,减少错误,并且便于代码维护。 ...
为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中的示例代码。通过阅读和运行这些代码,你可以更深入地了解如何在实际项目中应用jxl和Apache POI。 总的来说,jxl和Apache ...
综上所述,Java实现Excel导入导出功能主要依赖于Apache POI库,通过其提供的API可以方便地读取和写入Excel数据,同时注意性能优化和异常处理,确保功能的稳定性和效率。在实际开发中,还需要结合具体业务需求进行...
在这个"ExcelHelper(Excel导入导出)实例源码.zip"压缩包中,你将找到一系列实现这一功能的源代码示例。 Excel导入导出通常涉及到以下知识点: 1. **文件读写API**:在Java中,JDK提供了`java.io`和`java.nio`包来...
Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....