`

java导入excel....

阅读更多
jsp.....
<%@page contentType="text/html; charset=GBK"%>
<%@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@taglib uri="/WEB-INF/tag.tld" prefix="tag"%>

<%@page import="com.post.inspect.duty.vo.*"%>
<%@page import="java.util.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>">
<html>
<head>
<title>排班表.列表</title>

<script type="text/javascript" type="text/javascript" >
//var flag="${flag}";
 
function bb(){
// alert(document.all('ad'));
var flag="${flag}";
if(flag=='0'){
document.all('ad').style.display="none";
document.all('de').style.display="none";
}
}

</script>
<script language="javascript" type="text/javascript">
function getForm(){
   return BasicForm;
}
//返回
function goback(){
history.back();
}
function click_HideImp(name){
var tmp=document.all(name);
var search = document.all('search');
search.style.display = "none";
    if(tmp.style.display=="none"){
       tmp.style.display="";
    }else{
       tmp.style.display="none";
    }
    return;
}

function myClick_HideSearch(name){
var tmp=document.all(name);
var excelImp = document.all('excelImp');
excelImp.style.display = "none";

var imp = document.all("excelFile");
imp.outerHTML += '';

    if(tmp.style.display=="none"){
       tmp.style.display="";
    }else{
       tmp.style.display="none";
    } 
    return;
}

function row_selectesd(row,tablename,oldrowindex,oldrowcolor,keyvalue)
{
  var orgId=row.cells(1).innerText;
document.all("orgId").value=orgId;
 
// var dutyDate= row.cells(5).innerText;
//  document.all("dutyDate").value=dutyDate;
var i=0;
        //alert("ok");
var rowindex=document.all(oldrowindex).value;
var rowcolor=document.all(oldrowcolor).value;
if (parseInt(oldrowindex)!=row.rowIndex)
{
if (rowindex!='')
{
for(i=0;i<document.all(tablename).rows(parseInt(rowindex)).cells.length;i++)
{
document.all(tablename).rows(parseInt(rowindex)).cells(i).style.backgroundColor=rowcolor;
}
}
document.all(oldrowindex).value=row.rowIndex;
document.all(oldrowcolor).value=row.cells(0).bgColor;
if (keyvalue!='' && row.all.item('rowkeyvalue')!=null){
// var orgId=row.cells(2).innerText;
// document.all(keyvalue).value=row.all.item('rowkeyvalue').value;
document.all(keyvalue).value=row.cells(2).innerText;
}
               // alert(row.cells(2).innerText);
for(i=0;i<row.cells.length;i++)
  row.cells(i).style.backgroundColor="#FFECD9";
}
return;
}


//实现查询
function click_query(method){
   if(method==null||method=="undefined"){
   method = "list";
   }
   document.all('method').value=method;
   var e = event.srcElement;
   var orgId=document.all('Q_orgId').value;
   if(e.tagName!="IMAGE"&&e.type!="image"){
   if(orgId==''){
   alert("请选择网点号");
   }else{
   BasicForm.submit( );
   }
   }
}

/** 导出 */
function click_goExport(){
if(document.all("keyvalue").value==""){
alert('请选择至少一条记录进行导出! ');
return;
}
document.all('method').value='exportQues';
var ids = document.getElementsByName("ids");
var checkId="";
for(var i=0;i<ids.length;i++){
if(ids[i].checked == true){
checkId+=(ids[i].value+",");
}
}

     //从hidden中取值放到参数hidden与中
    
    
     var ordids=document.getElementById('ordids').value;
document.all('id_org').value=ordids;
document.getElementById("checkId").value=checkId;
BasicForm.submit();
}


</script>
<%@include file="/ui/jsp/initJs.jsp"%>
<%@include file="/ui/jsp/initCss.jsp"%>
</head>
<body onload="initpage(),bb()" >

<html:form action='/inspect/duty/InspectDuty1.do' method="post"  enctype="multipart/form-data">
  <input type="hidden" name="method" value="<tag:attr source="method" />">
  <input type="hidden" name="id" value="">
  <input type="hidden" name="orderCol" value="<bean:write name="BasicForm" property="orderCol"/>">
  <input type="hidden" name="orderMode" value="<bean:write name="BasicForm" property="orderMode"/>">
  <input type="hidden" id="rowindex">
  <input type="hidden" id="rowcolor">
  <input type="hidden"  name="keyvalue" id="keyvalue"> 
  <input type="hidden" name="orgId" id="orgId">
  <input type="hidden" name="flag" id="flag" value="${flag}">
  <input type="hidden" name="checkId" value=""> 
   <input type="hidden" name="id_org" value="">
  <in
  <div class="main_menu">
  <ul id="toolbar">
      <div id="ad" name="ad">
  <li id="ads" name="ads"><a  onClick="javascript:click_add()"><img src="images/new.gif" border="0">增加</a></li>
    </div>
 
  <!-- 
  <li><a onClick="javascript:click_mod('id')"><img src="images/modify.gif" border="0">修改</a></li>
  -->
 
  <div id="de" name="de">
  <li><a onClick="javascript:click_del()"><img src="images/del.gif" border="0">删除</a></li>
    </div>
 
  <!--  
      <button class="positive" name="qry" onclick="click_query('<tag:attr source="method" />')">
        <img src="ui/images/search.gif" alt=""/>查询
    </button>
   -->    
  <li><a onClick="javascript:myClick_HideSearch('search')"><img src="images/search.gif" border="0">查询</a></li>
   
 
  <li><a onClick="javascript:click_HideImp('excelImp')"><img src="images/search.gif" border="0">导入</a></li>
  <li><a onClick="javascript:click_goExport()"><img src="images/modify.gif" border="0">导出</a></li>
  </ul>
  </div>
  <br/>
  <%@ include file="/configure/common/messages.jsp" %>
  <!-- -->
  <table id="excelImp" style="display:none" border="0" cellpadding="0" cellspacing = "0">
  <tr>
  <td>选择排班表:</td>
  <td><input type="file" name="excelFile" id="excelFile"/>&nbsp;&nbsp;</td>
  <td>
  <div class="buttons">
    <button class="positive" name="qry" onClick="javascript:click_query('<tag:attr source="method" />')">
        <img src="ui/images/search.gif" alt=""/>导入
    </button>
    </div>
  </td>
  </tr>
  </table>
 
 
    <table id="search" style="display:none" border="0" cellpadding="0" cellspacing="0">
<tr>


<td>值班日期:</td>      
<td>
<input type="text" name="Q_startDate"  onkeydown="enterToTab();" onfocus="this.select()"
onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})" styleClass="text"
value='<bean:write name="BasicForm" property="Q_startDate"/>'  class="Wdate">                     
&nbsp;&nbsp;    
</td>

<td>
<input type="text" name="Q_endDate"  onkeydown="enterToTab();" onfocus="this.select()"
onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})" styleClass="text"
value='<bean:write name="BasicForm" property="Q_endDate"/>'  class="Wdate">                     
&nbsp;&nbsp;    
</td>

<td>网点号:</td>
<td>
<tag:userComboxTree name="Q_orgId" rootId="${deptid}" showType="children" selectType="dept"/>
</td>

    <td>
      <div class="buttons">
    <button class="positive" name="qry" onClick="javascript:click_query('<tag:attr source="method" />')">
        <img src="ui/images/search.gif" alt=""/>查询
    </button>
    </div>
    </td>
</tr>
  </table>
  <!-- 列表部分开始 -->
  <table id="LodgeInfo" class="dataList" width="100%" cellspacing="0" border="0">
  <!-- 表头 -->
<thead>
<tr>
<th width="3%"><input type="checkbox" onclick="selectAll()"></th>
<th style="cursor: hand" title="点击排序"
onclick="orderBy('DUTY_DATE')">日期</th>
<logic:present name="taixiList">
<logic:iterate id="taixi" name="taixiList">
<th style="cursor: hand" title="点击排序"
onclick="orderBy('<bean:write name="taixi"/>')"><bean:write
name="taixi" property="SITE_NAME" /></th>
</logic:iterate>
</logic:present>
</tr>
</thead>


<!--表列 -->
<tbody>
<logic:present name="volist">
<bean:define id="list" name="volist" />
<logic:iterate id="li" name="list">
<bean:define id="ub" name="li" />
<!-- 字段内容部分开始 -->
<tr class="bg"
onClick="row_selectesd(this,'LodgeInfo','rowindex','rowcolor','keyvalue','orgId');">
<td>
      <input type="checkbox" name="ids" value="<bean:write name="ub" property="DUTY_DATE"/>">
  <input type="hidden" id="rowkeyvalue" name="rowkeyvalue" value='<bean:write name="ub" property="DUTY_DATE"/>'>
  <input type="hidden" id="ordids" name="ordids" value='<bean:write name="ub" property="ORG_ID"/>'>
</td>
<td><bean:write name="ub" property="DUTY_DATE"
format="yyyy-MM-dd" />&nbsp;
</td>
<logic:present name="taixiList">
<logic:iterate id="taixi" name="taixiList">
<bean:define id="test" name="taixi" property="SITE_NO" />
<%
String str = "A" + test;
%>

<td><a href="inspect/duty/InspectDuty1.do?method=updateTaixi&flag=${flag}
                    &commId=<bean:write name="ub" property="<%=str%>" />&dutyDate=<bean:write name="li" property="DUTY_DATE" />"> <bean:write name="ub" property="<%=str%>" />&nbsp;</td>
</logic:iterate>
</logic:present>
</tr>
</logic:iterate>
</logic:present>
</tbody>

<!-- 字段内容部分结束 -->
<!-- 分页栏开始 -->
<tfoot>
<%@include file="/public/pubpage1.jsp"%>
</tfoot>
<!-- 分页栏结束 -->
  </table>
</html:form>
</body>
</html>


java代码
/**
* 分页列表
*/
public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
QueryForm qf = new QueryForm(request, InspectDuty.class);
PageInfo page = new PageInfo(request);
BasicActionForm baseForm = (BasicActionForm) form;
List<InspectDuty> volist = new ArrayList<InspectDuty>();
String message = "";
FormFile file = (FormFile) baseForm.get("excelFile"); //导入判断。。。
if (null != file && !COMMON.isEmpty(file.getFileName())) {
message = processExcelFile(volist, baseForm);
if (!COMMON.isEmpty(message)) {
this.setMessage(request, "导入失败:\n\r" + message.trim());
} else if (volist.size() == 0) {
this.setMessage(request, "导入失败:表格数据不能为空,请检查!");
} else {
// List list = inspectDutyService.list(qf, page);
inspectDuty1Service.batchSaveOrUpdateDuty(volist);
this.setMessage(request, "导入成功!");
// request.setAttribute("volist", list);
}
}

String currentOrgId = UserContext.getDept().getDeptCode(); //当前机构
// String orgId = inspectDuty1Service.getQueryValue(baseForm, "orgId"); //值班开始日期
String type = request.getParameter("type");

String orgId = null;
if (baseForm.get("Q_orgId") != null) {
orgId = (String) baseForm.get("Q_orgId");
}

String flag = "";

if (type != null && "1".equals(type)) { //从菜单进入的

if (currentOrgId.equals("440000888")) { //省里的人
flag = "0";
} else { //不是省里的人
flag = "1";
}

} else { //不是从菜单进入的

if (currentOrgId.equals("440000888")) { //省里的人
flag = "0";
} else { //不是省里的人在操作进入的

if (baseForm.get("Q_orgId") != null) { //上级处理下级数据处理查询后的操作
if (orgId.equals(currentOrgId)) { //只能处理自己的数据
flag = "1";
}
}

}

}

if (orgId == null && type == null) { //这是增加和修改后 删除后返回的list页面 一定不是省里的人 可以进入
flag = "1";
}

if (request.getParameter("cs") != null) {
flag = "0";

}

request.setAttribute("flag", flag);

List taixiList = null;
if (orgId == null) {
taixiList = inspectDuty1Service.queryAllSiteNo(currentOrgId);
} else {
taixiList = inspectDuty1Service.queryAllSiteNo(orgId);
}
volist = inspectDuty1Service.listInspectData(baseForm, page);
if (taixiList.size() < 0 || taixiList == null) {
Map map = new HashMap();
map.put("SITE_NO", 000000);
map.put("SITE_NAME", "无数据展示");
super.setMessage(request, "无数据展示");
}
request.setAttribute("taixiList", taixiList);
request.setAttribute("volist", volist);

page.saveToRequest(request);
request.setAttribute("method", "list");
return LIST_FORWARD;
}

public String processExcelFile(List<InspectDuty> volist, BasicActionForm baseForm) throws Exception {
StringBuffer message = new StringBuffer("");
FormFile importExcelFile = (FormFile) baseForm.get("excelFile");  //取得 导入文件对象

if (importExcelFile.getFileSize() > 0) { //文件大小
String ext = FileUtil.getExtensionName(importExcelFile.getFileName());
if (!ext.toLowerCase().matches("^xls$")) {
message.append("导入文件格式不正确,请导入.xls格式的文件!<br/>");
return message.toString();
}
} else {
message.append("导入的文件不能为空,请检查后再导入!<br/>");
return message.toString();
}

HSSFWorkbook wb = null;

HSSFSheet sheet = null;

HSSFCell cell = null;

HSSFRow row = null;

wb = (HSSFWorkbook) new HSSFWorkbook(importExcelFile.getInputStream());

sheet = wb.getSheetAt(0);

// 行数(从0开始,相当于最后一行的索引),列数
int count_row = sheet.getLastRowNum() + 1;
int count_cell = sheet.getRow(5).getPhysicalNumberOfCells();

String[][] str = new String[count_row][count_cell];

for (int i = 0; i < count_row; i++) {
row = sheet.getRow(i);

if (null != row) {
String tempMsg = validateRow(i, row);

message.append(tempMsg);

count_cell = sheet.getRow(i).getPhysicalNumberOfCells();

for (int j = 0; j < count_cell; j++) {

cell = row.getCell((short) j);

int type = cell.getCellType(); // 得到单元格数据类型

String value = "";

switch (type) { // 判断数据类型
case HSSFCell.CELL_TYPE_BLANK:
value = "";
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
value = cell.getBooleanCellValue() + "";
break;
case HSSFCell.CELL_TYPE_ERROR:
value = cell.getErrorCellValue() + "";
break;
case HSSFCell.CELL_TYPE_FORMULA:
value = cell.getCellFormula();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
value = sdf.format(cell.getDateCellValue());
} else {
DecimalFormat df = new DecimalFormat("#.##");
value = df.format(cell.getNumericCellValue());
}
break;
case HSSFCell.CELL_TYPE_STRING:
value = cell.getStringCellValue();
break;
default:
break;
}
str[i][j] = value;
}
}
}

cell = null;

row = null;

sheet = null;

wb = null;

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

if (str.length > 0) {
for (int i = 0; i < str.length; i++) {
String[] array = str[i];
if (i >= 5 && array.length > 0) {
for (int j = 2; j < array.length; j++) {
String value = array[j];
if (!COMMON.isEmpty(value)) {
InspectDuty vo = new InspectDuty();
vo.setDutyDate(sdf.parse(array[0]));
vo.setTellerNo(value);
vo.setSiteNo(str[3][j]);
vo.setSiteName(str[2][j]);
vo.setOrgId(str[i][1]);
volist.add(vo);
}
}
}
}
}

return message.toString();
}

public String validateRow(int rowIndex, HSSFRow row) {
StringBuffer message = new StringBuffer("");
HSSFCell cell = null;
if (null != row) {
int cellCount = row.getPhysicalNumberOfCells();

if (rowIndex == 3) {
for (int i = 0; i < cellCount; i++) {
cell = row.getCell((short) i);
if (i > 1 && "".equals(cell.getStringCellValue())) {
message.append("第 " + rowIndex + " 行台席 " + i + " 数据不能为空,请检查!<br/>");
}
}
}
if (rowIndex >= 5) {
for (int i = 0; i < cellCount; i++) {
cell = row.getCell((short) i);
int type = cell.getCellType();
if (i == 0 && type == HSSFCell.CELL_TYPE_BLANK) {
message.append("第 " + rowIndex + " 行日期列数据不能为空,请检查!<br/>");
}
}
}
}
return message.toString();
}


分享到:
评论

相关推荐

    导入EXCEL.zip

    本压缩包"导入EXCEL.zip"提供了JAVA导入Excel的源码和相关的JAR文件,这将帮助开发者了解如何在Java程序中读取和操作Excel数据。 1. **Apache POI库**:Apache POI是Java社区广泛使用的库,用于处理Microsoft ...

    java 导入Excel 文件,支持xls、xlsx、csv格式

    综上所述,Java导入Excel文件涉及的关键技术包括Apache POI库的使用,对HSSF和XSSF的理解,以及对CSV文件处理的技巧。通过熟练掌握这些知识,你可以编写出高效且健壮的文件导入程序,满足各种需求。

    poi_java_excel.zip_java 导出excel_poi excel_poi导出再导入excel中文_导出exce

    在本项目"poi_java_excel.zip"中,我们将重点探讨如何使用Apache POI处理Java导出Excel时可能出现的中文乱码问题,以及如何实现Excel的读取和导入。 首先,让我们深入理解Apache POI的基本用法。Apache POI提供了...

    Java 导出Excel.zip

    "Java 导出Excel.zip"这个压缩包文件提供了一个Java实现的解决方案,允许开发者以全泛型的方式方便地导出数据到Excel文件,而且支持动态创建不同数量的sheet页面,增强了灵活性。 1. **Java与Excel交互**:Java中...

    java实现excel导入导出.pdf

    Java 实现 Excel 导入导出 Java 是一种流行的编程语言,Excel 是一种常用的电子表格软件。在 Java 中,实现 Excel 导入导出可以使用多种方式,本文将介绍使用 JXL 和 POI 两个库实现 Excel 导入导出的方法。 使用 ...

    java倒入excel.zip

    这个压缩包文件"java倒入excel.zip"很可能包含了一个示例项目,用于演示如何在Java中读取Excel文件并处理可能出现的错误,同时将数据插入到数据库中。让我们详细探讨一下这个过程涉及的关键知识点。 1. **Apache ...

    java-excel.rar_excel java_java excel_java excle_java语言 excel

    "java-excel.rar"这个压缩包文件显然包含了关于如何使用Java处理Excel的相关资源,特别是导出Excel文件的方法。下面将详细介绍使用Java进行Excel操作的核心知识点。 首先,Java与Excel交互的主要库有Apache POI和...

    Java 使用poi导入excel 并使用xml做数据验证

    在Java开发中,处理Excel数据是一项常见的任务,尤其是在数据导入导出、数据分析或者报表生成等场景。Apache POI是一个流行的库,它允许开发者使用Java来读取、写入和修改Microsoft Office格式的文件,包括Excel(....

    lotus domino CS 导入excel.txt

    lotus domino CS 导入excel.txt

    javaexcel导入数据库.pdf

    由于给定的内容中存在一些OCR识别错误和重复文字,我将基于提供的有效信息,对Java操作Excel并将其数据导入数据库的知识点进行详细说明。为方便理解和执行,我会先修正可能的OCR扫描错误,并排除重复内容,然后详细...

    java操作Excel.rar

    本压缩包“java操作Excel.rar”提供了一个关于如何使用Java与Excel交互的示例,涵盖了向Excel插入数据、合并单元格以及读取和写入数据到List集合中的方法。以下是这些操作的详细讲解: 1. **Java向Excel插入数据**...

    excel.rar excel.rarexcel.rar

    2. 数据导入导出:layui可能被用来实现将网页上的表格数据导出为Excel文件,或者导入Excel文件到网页表格中。这通常涉及到JavaScript库,如js-xlsx或 SheetJS,它们可以解析和生成Excel文件。 3. Excel数据分析:在...

    java实现excel导入数据库

    在Java编程中,将Excel数据导入到MySQL数据库是一项常见的任务,尤其在数据处理和分析的场景下。要完成这个过程,我们需要使用特定的库来读取Excel文件,并使用JDBC(Java Database Connectivity)来与MySQL数据库...

    java 导入及判断的Excel 使用方法

    本文将深入探讨Java中导入和判断Excel的使用方法,结合实例分析,帮助你全面理解这一技术。 首先,Java与Excel的交互通常依赖于第三方库,如Apache POI或JExcelAPI。Apache POI是目前最常用的一个,它提供了丰富的...

    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....

    java倒入excel.rar

    在Java编程中,导入Excel数据是一项常见的任务,特别是在数据分析、报表生成或数据处理等领域。Excel文件通常用于存储...通过学习和理解这个示例,你可以掌握Java导入Excel数据的核心技术,并能应用到自己的项目中。

    java_poi实现excel导入导出

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

    Java操作Excel.rar

    在Java编程环境中,处理Excel文件是一项常见的任务,无论是数据分析、报表生成还是数据导入导出。以下将详细讲解如何使用Java来操作Excel,包括读取Excel数据、创建并写入数据到Excel。 首先,Java中处理Excel文件...

    ImportExcelUtil.java文件支持所有Excel文件解析导入的方法

    本文件内含有支持所有Excel文件解析导入的方法

    java导入excel表格

    在Java编程中,导入Excel表格是一项常见的任务,特别是在数据处理、数据分析或系统集成等领域。Excel文件通常用于存储结构化数据,而Java作为一种强大的后端语言,提供了多种方式来读取和操作这些数据。本篇文章将...

Global site tag (gtag.js) - Google Analytics