`

excel 导入导出

    博客分类:
  • java
 
阅读更多
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");
  • jxl.jar (565.1 KB)
  • 下载次数: 1
分享到:
评论

相关推荐

    java_poi实现excel导入导出

    Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...

    asp将EXCEL导入导出数据库原程序

    这个"asp将EXCEL导入导出数据库原程序"提供了一个解决方案,能够方便地将Excel中的数据存入MSSQL数据库,同时也能将数据库中的数据导出到Excel文件。 首先,我们需要了解如何使用ASP连接MSSQL数据库。通常,这涉及...

    Excel导入导出项目 简单的

    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导入导出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导入导出Java POI EXCEL导入导出...

    excel导入导出性能优化

    在IT行业中,Excel导入导出性能优化是一个常见且重要的议题,尤其对于处理大量数据的应用程序。Excel文件格式广泛用于数据存储和分析,但其导入和导出操作可能会对系统性能产生显著影响,尤其是在高并发环境下。以下...

    thinkhphp3.2 excel导入导出demo

    thinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel导入导出demothinkhphp3.2 excel...

    Excel导入导出工具包

    万能的Excel导入导出工具. 支持从List中导出. 支持从List中导入导出. 支持从List里面还有List&lt;POJO&gt;&gt;中导入导出. 支持导出类似课程表结构类型纵表. 支持国际化. 支持数据字典. 支持单元格中下拉框数据校验. 支持自动...

    excel 导入导出插件

    Excel导入导出插件是一种工具,它扩展了Excel的功能,使得用户能够方便地从电子表格中导入数据到其他系统,或者从外部数据源导出数据到Excel进行分析和处理。这种插件通常用于数据迁移、数据整合或数据分析,特别是...

    Excel 导入导出 (asp.net/c#)

    在Excel导入导出的场景下,通常会通过HTTP请求来触发操作,如上传Excel文件、下载导出的文件等。C#代码会被封装到ASP.NET的Page或Controller中,以处理这些请求。 6. **文件上传**: - ASP.NET提供了FileUpload...

    Excel导入导出封装

    针对Office 2003和Office 2007版本的Excel导入导出功能,开发者通常需要编写特定的代码来实现自动化操作。"Excel导入导出封装"是一个专门解决这一问题的测试类库,旨在简化这一过程,提高开发效率。 首先,我们要...

    Java实现Excel导入导出操作详解.pptx.pptx

    Java实现Excel导入导出是Java开发中常见的任务,主要用于数据的批量处理和分析,尤其在数据分析、报表生成和数据备份等方面具有广泛应用。要熟练掌握这一技术,开发者需要了解Excel文件的结构,熟悉Java的文件操作,...

    C# Excel 导入导出

    Excel导入导出是常见的需求,例如数据处理、报表生成和数据分析等。本篇文章将详细探讨C#如何实现Excel的导入导出功能。 首先,我们需要知道在C#中操作Excel有两种主要方式:一是使用Microsoft.Office.Interop....

    Struts2 Excel导入导出数据

    在Struts2中,要实现Excel导入导出,我们需要以下组件: 1. **Apache POI库**:这是一个用于读写Microsoft Office格式文件的Java库,包括Excel。我们可以用它来创建、修改和读取Excel文件。 2. **Struts2 Action**...

    Excel导入导出

    在提供的压缩包文件中,可能包含已经封装好的方法和DLL,这些预封装的方法简化了Excel导入导出的过程,使得开发者可以直接调用,而无需关心底层的实现细节。这通常会提高开发效率,减少错误,并且便于代码维护。 ...

    Excel导入导出 jxl及Poi 工具类

    为了更好地理解这两个库的用法,你可以查看提供的"Excel导入导出(jxl及Poi)工具类"压缩包中的示例代码。通过阅读和运行这些代码,你可以更深入地了解如何在实际项目中应用jxl和Apache POI。 总的来说,jxl和Apache ...

    Java实现Excel导入导出功能

    综上所述,Java实现Excel导入导出功能主要依赖于Apache POI库,通过其提供的API可以方便地读取和写入Excel数据,同时注意性能优化和异常处理,确保功能的稳定性和效率。在实际开发中,还需要结合具体业务需求进行...

    ExcelHelper(Excel导入导出)实例源码.zip

    在这个"ExcelHelper(Excel导入导出)实例源码.zip"压缩包中,你将找到一系列实现这一功能的源代码示例。 Excel导入导出通常涉及到以下知识点: 1. **文件读写API**:在Java中,JDK提供了`java.io`和`java.nio`包来...

    Java实现Excel导入导出

    Excel源代码,导入导出各种工具类 &lt;groupId&gt;org.apache.poi &lt;artifactId&gt;poi &lt;groupId&gt;org.apache.poi &lt;artifactId&gt;poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....

Global site tag (gtag.js) - Google Analytics