`
abc778201
  • 浏览: 9181 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

struts2上传学生 csv数据文件 到数据库

阅读更多
上传的jsp页面
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/page/share/taglib.jsp" %>
<%@ include file="/WEB-INF/page/share/studentSelectAll.jsp"%>
<html>
<head>
<title>学生基本信息上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="css/vip.css" type="text/css">
<link href="css/admin.css" rel="stylesheet" type="text/css"/>
<SCRIPT language=JavaScript src="js/FoshanRen.js"></SCRIPT>
<script language="JavaScript">
function myFormCheck(theform)
{
   if(theform.file.value=="")
    {
       alert("请点击浏览按钮,选择您要上传的文件!")
       theform.file.focus;
       return false;
    }
    else
    {
       str= theform.file.value;
       strs=str.toLowerCase();
       lens=strs.length;
       extname=strs.substring(lens-4,lens);
       if(extname!=".csv")
       {
         alert("请选择csv文件!")
         return false;
       }
     ////  if(extname!=".xls")
      //// {
       // / alert("请选择excel文件!")
        /// return false;
    ////   }   
    }
}
</script>
</head>
<body style="text-align:center">
<div id="header"><%@include file="../share/header.jsp" %></div>
<div id="center">
     <div id="left">
        <jsp:include page="../share/leftMenu_Admin.jsp"/> 
    </div>         <!-- 左边的left -->
<div id="center_in">
<s:form action="control/student_fileUpload" theme="simple" enctype="multipart/form-data" method="post" onsubmit="return myFormCheck(this)">
  <table width="100%" border="0" cellspacing="2" cellpadding="3" align="center">
    <tr bgcolor="6f8ac4"><td colspan="2"  > <font color="#FFFFFF">上传学生信息表::</font></td>
    </tr>
    <tr bgcolor="f5f5f5">
      <td width="22%" ><div align="right">请选择csv文件:</div></td>
      <td width="78%">
          <s:file name="file" id="file"></s:file>
      </td>
    </tr>
    <tr bgcolor="f5f5f5">
      <td></td>    
       <td>
          <input type="submit" name="SYS_SET" value="导入" class="frm_btn">
      </td>
    </tr> 
  </table>
</s:form>
</div>
</div>
</body>
</html>
struts.xml里面的action自己配置,studentAction中 fileUpload方法的处理

import com.csvreader.CsvReader;
导入javacsv.jar


InputStream in = null;  
        csvList = new ArrayList<String[]>();  
        try {  
      in = new FileInputStream(file);  
      CsvReader reader = new CsvReader(in, Charset.forName("utf-8"));  
            try {  
                //读取CSV文件的表头,如果CSV文件没有表头则可以注释 掉  
               /// reader.readHeaders();  
                while (reader.readRecord()) {  
                    columnCount = reader.getColumnCount();  
                    csvList.add(reader.getValues());  
                }  
                reader.close();  
                list=new ArrayList<Student>();
                DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                //遍历CSV文件中的信息  
                for (int row = 0; row < csvList.size(); row++) {
                Student student = new Student();
                student.setEditMark(false);
                     student.setCommitMark(false);
                     student.setUserPwd("0");
                     student.setStuBirthCode("32233232");
                    for (int i = 0; i < columnCount; i++) {  
                        String cell = csvList.get(row)[i];  
                     ///   System.out.println(cell);  
                        switch(i){
        case 0: student.setUserName(cell);                 break;
        case 1: student.setStuID(cell);                    break;
        case 2: student.setStuIdCard(cell);                break;
        case 3: student.setStuGrade(Integer.valueOf(cell));break;
        case 4: student.setStuBirthPlace(cell);            break;
        case 5: student.setStuDegree(cell);                break;
        case 6: student.setStuDepartment(cell);            break;
        case 7: student.setStuEduStu(cell);                break;
        case 8: student.setStuEduWay(cell);                break;
        case 9: student.setStuName(cell);                  break;
        case 10:student.setStuParty(cell);                 break;
        case 11:student.setStuPhoneNum(cell);              break;
        case 12:student.setStuPlace(cell);                 break;
        case 13:student.setStuPost(cell);                  break;
        case 14:student.setStuSex(cell);                   break;
        case 15:student.setStuSpecial(cell);               break;
        case 16:student.setStuInYear(sdf.parse(cell));     break;
        case 17:student.setStuOutYear(sdf.parse(cell));    break;
        }
                    }
                    list.add(student);
                }  
            } catch (IOException e1) {  
                e1.printStackTrace();  
                csvList=null;  
            }  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
            csvList=null;  
        } 
        for(Student student:list){
        System.out.println("学号为:"+student.getUserName());
           System.out.println("生源地:"+student.getStuBirthPlace());
           System.out.println("学位:"+student.getStuDegree());
        }
    studentService.setStudents(list);



处理成功后的跳转
ServletActionContext.getRequest().setAttribute("message", "上传学生基本信息成功");
ServletActionContext.getRequest().setAttribute("urladdress", SiteUrl.readUrl("control.student.list"));
return "message";

csv处理数据
按照程序读取的列顺序排好数据,然后将excel另存为csv格式的文件,用editBus编辑文件的编码方式为utf-8,数据获取格式也是utf-8



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics