java基础之导入(Excel)2

$(function(){
    $("#linksCommonGrid").datagrid({
        url:appPath+‘/page/pageIndexMrgAct/queryPageIndexLinks‘,
        striped: true,
        remoteSort:false,
        pagination:true,
        rownumbers:true,
        singleSelect:false,
        height : 600,
        queryParams:getQueryParam1(),
        idField:‘id‘,
        frozenColumns:[[{
            field : ‘ck‘,
            title:‘全选‘,
            checkbox : true
        }]],
        columns:[[
              {field:‘opt‘,title:‘操作‘,width:55,align:‘center‘,
                  formatter:function(value,rowData,rowIndex){
                      return "<img class=‘op-enable‘ src=‘"+appPath+"/js/lib/jquery-easyui/themes/icons/pencil.png‘ onClick=‘modifyLinksComm(\""+rowData.id+"\")‘ title=‘编辑‘/>" +
                              "&nbsp;&nbsp; <img class=‘op-enable‘ src=‘"+appPath+"/js/lib/jquery-easyui/themes/icons/cancel.png‘ onClick=‘cancelLinksComm("+rowData.id+")‘ title=‘删除‘/> " ;
                  }
              },
              {field:‘url‘,title:‘URL‘,width:200,align:‘center‘,sortable:true},
              {field:‘keywords1‘,title:‘关键词‘,width:100,align:‘center‘,sortable:true },
              {field:‘linkUrl1‘,title:‘对方链接‘,width:200,align:‘center‘,sortable:true },
              {field:‘qq‘,title:‘对方QQ‘,width:100,align:‘center‘,sortable:true },
              {field:‘phone‘,title:‘对方手机‘,width:100,align:‘center‘,sortable:true },
              {field:‘keywords2‘,title:‘我方关键词‘,width:100,align:‘center‘,sortable:true },
              {field:‘linkUrl2‘,title:‘我方URL‘,width:200,align:‘center‘,sortable:true },
              {field:‘addTime‘,title:‘添加时间‘,width:100,align:‘center‘,sortable:true }
              
              ]]
    });
});

function getQueryParam1() {
    var queryObject = new Object();
    queryObject.linkType =Number($.trim($("#typeParam").val()));
    return queryObject;
}
function doQuery(){
    $("#linksCommonGrid").datagrid(‘unselectAll‘);
    $("#linksCommonGrid").datagrid(‘load‘,getQueryParam());
}

function getQueryParam() {
    var queryObject = new Object();
    queryObject.url = $.trim($("#queryUrl").val());
    queryObject.keywords1 = $.trim($("#queryKeywords1").val());
    queryObject.linkUrl1 = $.trim($("#queryLinkUrl1").val());
    queryObject.qq = $.trim($("#queryqq").val());
    queryObject.keywords2 = $.trim($("#queryKeywords2").val());
    queryObject.linkUrl2 = $.trim($("#queryLinkUrl2").val());
    queryObject.linkType =Number($.trim($("#typeParam").val()));
    return queryObject;
}

//新增友情链接
function addLinks (){
    var iconStr = "icon-add";
    var title = "添加友情链接";
    initData();
    $(‘#addDlg‘).window({
        title : title,
        iconCls : iconStr,
        width : 580,
        height : 300,
        left : 200,
        modal : true,
        shadow : true,
        collapsible : false,
        minimizable : false,
        maximizable : false
    });
    $(‘#addDlg‘).window(‘move‘, {
        top : 100
    });
    $(‘#addDlg‘).window(‘open‘);
}
function closeWin(id) {
    if(id=‘addDlg‘){
        if($("#addUrl").val()==‘‘ && $("#addKeywords1").val()==‘‘
            && $("#addLinkUrl1").val()==‘‘){
            $(‘#‘+id).window(‘close‘);
        }else{
            $.messager.defaults = { ok: "是", cancel: "否,继续填写" };
            $.messager.confirm(‘提示信息‘,‘将丢失已经填写的内容,是否继续关闭?‘,function(r){
                if(r){
                    $(‘#‘+id).window(‘close‘);
                }
            });
        }
    }else{
        $(‘#‘+id).window(‘close‘);
    }
}

function initData(){
     $(‘#addUrl‘).css("border","1px  solid #A4BED4");
     $(‘#addKeywords1‘).css("border","1px  solid #A4BED4");
     $(‘#addLinkUrl1‘).css("border","1px  solid #A4BED4");
    $("#addId").val("");
    $("#addUrl").val("");
    $("#addKeywords1").val("");
    $("#addKeywords2").val("");
    $("#addLinkUrl1").val("");
    $("#addLinkUrl2").val("");
    $("#addqq").val("");
    $("#addPhone").val("");
}
function save(){
    if ($("#addUrl").val() == null || $("#addUrl").val() == ‘‘ || $("#addKeywords1").val() == null || $("#addKeywords1").val() == ‘‘ || $("#addLinkUrl1").val() == null || $("#addLinkUrl1").val() == ‘‘) {
        $.messager.alert(‘提示信息‘, ‘信息没有填写完整,请补充!‘, ‘info‘);
        return;
    }
    if($.trim($("#addUrl").val()).substr(0,7)!=‘http://‘){
        $.messager.alert(‘提示信息‘, ‘URL格式错误,请以http://开头!‘, ‘info‘);
        $("#addUrl").css(‘border-color‘,‘red‘);
        return;
    }
    var k1 = getByteLen($("#addKeywords1").val())
    if(k1>40){
        $.messager.alert(‘提示信息‘, ‘关键词最多20个中文字符‘, ‘info‘);
        $("#addKeywords1").css(‘border-color‘,‘red‘);
        return;
    }
    if($.trim($("#addLinkUrl1").val()).substr(0,7)!=‘http://‘){
        $.messager.alert(‘提示信息‘, ‘对方链接格式错误,请以http://开头!‘, ‘info‘);
        $("#addLinkUrl1").css(‘border-color‘,‘red‘);
        return;
    }
    if($("#addKeywords2").val() !=null &&  $("#addKeywords2").val() != ‘‘){
        var k2 = getByteLen($("#addKeywords2").val());
        if(k2>40){
            $.messager.alert(‘提示信息‘, ‘我方关键词最多20个中文字符‘, ‘info‘);
            return;
        }
    }
    if($("#addLinkUrl2").val() !=null &&  $("#addLinkUrl2").val() != ‘‘){
        if($.trim($("#addLinkUrl2").val()).substr(0,7)!=‘http://‘){
            $.messager.alert(‘提示信息‘, ‘我方URL格式错误,请以http://开头!‘, ‘info‘);
            $("#addUrl").css(‘border-color‘,‘red‘);
            return;
        }
    }
    
    var modifyid =0;
    var pageIndexLinks = new Object();
    if($("#addId").val()!=null && $("#addId").val()!=‘‘){
        modifyid=$("#addId").val();
        pageIndexLinks.id=$("#addId").val();
    }
    pageIndexLinks.linkType=Number($("#typeParam").val());
    pageIndexLinks.url= $.trim($(‘#addUrl‘).val());
    pageIndexLinks.keywords1=$.trim($("#addKeywords1").val());
    pageIndexLinks.linkUrl1=$.trim($("#addLinkUrl1").val());
    pageIndexLinks.qq=$.trim($("#addqq").val());
    pageIndexLinks.phone=$.trim($("#addPhone").val());
    pageIndexLinks.keywords2=$.trim($("#addKeywords2").val());
    pageIndexLinks.linkUrl2=$.trim($("#addLinkUrl2").val());
    doAjax({
        url : appPath + ‘/page/pageIndexMrgAct/opreatePageIndexLinks‘,
        type : ‘post‘,
        data : pageIndexLinks,
        success : function(data) {
            if (data.code == 0) {
                $.messager.alert(‘提示信息‘, ‘保存成功‘, ‘success‘);
                $(‘#addDlg‘).window(‘close‘);
                doQuery();
            }else if (data.code == -2){
                var returnid=data.msg;
                if (returnid*1 != modifyid*1 ){
                    $(‘#addUrl‘).css("border","1px solid red");
                    $(‘#addKeywords1‘).css("border","1px solid red");
                    $(‘#addLinkUrl1‘).css("border","1px solid red");
                    $.messager.alert(‘提示信息‘, "该数据已经存在" + ‘,操作失败‘, ‘error‘);
              }    
            }else if (data.code == -1){
                $(‘#addUrl‘).css("border","1px solid red");
                $(‘#addKeywords1‘).css("border","1px solid red");
                $(‘#addLinkUrl1‘).css("border","1px solid red");
                $.messager.alert(‘提示信息‘, "该数据已经存在" + ‘,操作失败‘, ‘error‘);
            }else {
                $.messager.alert(‘提示信息‘, data.msg + ‘,操作失败‘, ‘error‘);
            }
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
            $.messager.alert(‘提示信息‘, ‘操作未能完成‘ + textStatus, ‘error‘);
        }
    });
}

//编辑
function modifyLinksComm (id){
    initData();
    var iconStr = "icon-edit";
    var title = "编辑友情链接";
    if (id != null) {
        doAjax({
            url : appPath + ‘/page/pageIndexMrgAct/getPageIndexLinksId‘,
            type : ‘post‘,
            data : {
                id : id
            },
            dataType : ‘json‘,
            success : function(data) {
                $("#addId").val(data.data.id);
                $("#addKeywords1").val(data.data.keywords1);
                $("#addLinkUrl1").val(data.data.linkUrl1);
                $("#addqq").val(data.data.qq);
                $("#addPhone").val(data.data.phone);
                $("#addKeywords2").val( data.data.keywords2);
                $("#addLinkUrl2").val(data.data.linkUrl2);
                $("#addUrl").val(data.data.url);
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
                $.messager.alert(‘提示信息‘, ‘操作未能完成‘ + textStatus, ‘error‘);
            }
        });
    }
    $(‘#addDlg‘).window({
        title : title,
        iconCls : iconStr,
        width : 580,
        height : 300,
        left : 200,
        modal : true,
        shadow : true,
        collapsible : false,
        minimizable : false,
        maximizable : false
    });
    $(‘#addDlg‘).window(‘move‘, {
        top : 100
    });
    $(‘#addDlg‘).window(‘open‘);
}

//单个删除
function cancelLinksComm (id){
    var pageIndexLinks = new Object();
    pageIndexLinks.id=id;
    pageIndexLinks.isDelete=‘Y‘;
    $.messager.defaults = { ok: "确定", cancel: "取消" };
    $.messager.confirm(‘提示信息‘,‘您确定要删除?‘,function(r){
        if(r){
        doAjax({
            url : appPath + ‘/page/pageIndexMrgAct/deleteLinks‘,
            type : ‘post‘,
            data : pageIndexLinks,
            success : function(data) {
                if (data.code == 0) {
                    $.messager.alert(‘提示信息‘, ‘删除成功‘, ‘success‘);
                    doQuery();
                } else {
                    $.messager.alert(‘提示信息‘, data.msg + ‘,操作失败‘, ‘error‘);
                }
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
                $.messager.alert(‘提示信息‘, ‘操作未能完成‘ + textStatus, ‘error‘);
            }
        });
        }
    });
}

//批量删除
function batchDeleteGoods(){
    $.messager.defaults = { ok: "确定", cancel: "取消" };
    var selections = $("#linksCommonGrid").datagrid(‘getSelections‘);
    if (selections == null|| selections == ‘‘ || selections.length==0) {
        $.messager.alert(‘提示信息‘,‘请选择要删除的数据‘, ‘info‘);
        return;
    }
    $.messager.confirm(‘提示信息‘,‘您确定要删除这些记录?‘,
            function(r) {
                if (r) {
                    var idStr = ‘‘;
                    for ( var i = 0; i < selections.length; i++) {
                        if( i == (selections.length - 1)){
                            idStr += selections[i].id;
                        }else{
                            idStr += selections[i].id + ",";
                        }
                        
                    }
                    doAjax({
                        url:appPath+‘/page/pageIndexMrgAct/batchDeleteLinks‘,
                        type:‘post‘,
                        data:{idStr:idStr},
                        success:function(data){
                            if(data=‘ok‘){
                                $.messager.alert(‘提示信息‘,‘删除成功!‘,‘info‘);
                            }
                            doQuery();
                        },
                        error:function(XMLHttpRequest, textStatus, errorThrown){
                            $.messager.alert(‘提示信息‘,‘删除失败!‘,‘info‘);
                            doQuery();
                        }
                    });    
                }
    });
}

//导出
function exportExcel(){
    $.messager.confirm(‘提示信息‘,‘您确定要导出到Excel?‘,function(r){
        if(r){
            var columns = $("#linksCommonGrid").datagrid("options").columns[0];
             
            //--------把标题grid标题和grid的field,拼接成字符串-----------
            var stringTitle = "";
            var stringFields = "";
            for(var i = 1; i < columns.length; i++){
                stringTitle = stringTitle + columns[i].title + ",";
                stringFields = stringFields + columns[i].field + ",";
            }
            if(stringTitle.lastIndexOf(",") == (stringTitle.length-1)){
                stringTitle = stringTitle.substring(0, stringTitle.lastIndexOf(","));    
            }
            if(stringFields.lastIndexOf(",") == (stringFields.length-1)){
                stringFields = stringFields.substring(0, stringFields.lastIndexOf(","));    
            }
            
            var queryParams = $("#linksCommonGrid").datagrid("options").queryParams;
            queryParams.gridTitle = stringTitle;
            queryParams.gridField = stringFields;
            queryParams.moduleName = "友情链接.xls";
            
            var formObj = $("<form></form>").attr("method","post").attr("action",appPath+"/page/pageIndexMrgAct/exportLinksList");
            formObj.append("<input type=‘text‘ name=‘gridTitle‘>")
                   .append("<input type=‘text‘ name=‘gridField‘>")
                   .append("<input type=‘text‘ name=‘moduleName‘>")
                    .append("<input type=‘text‘ name=‘linkType‘>")
                   .append("<input type=‘text‘ name=‘url‘>")
                   .append("<input type=‘text‘ name=‘keywords1‘>")
                   .append("<input type=‘text‘ name=‘linkUrl1‘>")
                   .append("<input type=‘text‘ name=‘qq‘>")
                   .append("<input type=‘text‘ name=‘keywords2‘>")
                   .append("<input type=‘text‘ name=‘linkUrl2‘>")
                   .css(‘display‘,‘none‘)
                   .appendTo("body");
            formObj.form("load",queryParams);       
            formObj.submit();
            formObj.remove();
        }
    });
}

//批量导入新增
function batchaddLinks(){
    var linkType=$.trim($("#typeParam").val());
    var args1 = "height=350," +
       "width=650," +
       "toolbar =no," +
       "top =150," +
       "left =250," +
       "menubar=no," +
       "scrollbars=no," +
       "resizable=no," +
       "location=no," +
       "status=no";
  window.open(appPath+"/jsp/homepage/links_import.jsp?linkType="+linkType,"",args1);
}

//返回val的字节长度  
function getByteLen(val) {  
    var len = 0;  
    for (var i = 0; i < val.length; i++) {  
        if (val[i].match(/[^\x00-\xff]/ig) != null) //全角  
            len += 2;  
        else  
            len += 1;  
    }  
    return len;  
}  
=================================================================

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<html>
<head>
<jsp:include page="/jsp/common/header.jsp"></jsp:include>
<title>友情链接</title>
<script type="text/javascript" src="${ctx }/js/homepage/home_page_linkFriendly.js"></script>
</head>
<body>
<input type="hidden" id="typeParam"  value="<%=request.getParameter("typeParam")%>">
 
        <table class="queryTable"  >
            <tr>
                <td class="queryTitle" width="80px">URL:</td>
                <td class="queryContent">
                    <input class="inputText" id="queryUrl"  />
                </td>
                <td class="queryTitle" width="80px">关键词:</td>
                <td class="queryContent">
                    <input class="inputText" id="queryKeywords1"  />
                </td>
                <td class="queryTitle" width="80px">对方链接:</td>
                <td class="queryContent">
                    <input class="inputText" id="queryLinkUrl1"  />
                </td>
                <td class="queryTitle" width="80px">对方QQ:</td>
                <td class="queryContent">
                    <input class="inputText" id="queryqq" />
                </td>
              </tr>
              <tr>    
                <td class="queryTitle" width="80px">我方关键词:</td>
                <td class="queryContent">
                    <input class="inputText" id="queryKeywords2"/>
                </td>
                <td class="queryTitle" width="80px">我方URL:</td>
                <td class="queryContent">
                    <input class="inputText" id="queryLinkUrl2" />
                </td>
                <td class="queryBtnTd" colspan="4">
                    <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" onclick="doQuery()">检   索</a>
                </td>
            </tr>
        </table>
     
         <div region="south" border="false" style="text-align:left;height:35px;line-height:30px;">
            <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" onclick="addLinks()">新增友情链接</a>
            <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" onclick="batchaddLinks()">批量新增友情链接</a>
            <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="batchDeleteGoods()">批量删除</a>
            <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-exportExcel" onclick="exportExcel()">导出Excel</a>
         </div>

<table id="linksCommonGrid" ></table>

<div id="addDlg" class="easyui-window" title="" closed="true"
    iconCls="icon-save"
    style="width: 582px; height: 500px; text-align: center; background: #fafafa;">
    <div class="easyui-layout" fit="true">
        <div region="center" border="false"
            style="background: #fff; border: 1px solid #ccc; padding-left: 30px;">
            <form id="addForm" method="POST"
                style="width: 580px; height: 210px; text-align: center;">
                <table border="0" class="queryTable" width="450px" height="210px"
                    style="margin-bottom: 0px">
                    
                    <tr>
                        <td class="queryTitle">*URL: <input id="addId"  type="hidden" /> </td>
                        <td class="queryContent"><input type="text" id="addUrl"
                            name="addUrl" class="inputText easyui-validatebox" required="true" /><font color="red">(必须以http://开头)</font></td>
                    </tr>
                    <tr>
                        <td class="queryTitle">*关键词:</td>
                        <td class="queryContent"><input type="text" id="addKeywords1"
                            name="addKeywords1" class="inputText easyui-validatebox" required="true" /><font color="red">(最多20个中文字符)</font></td>
                    </tr>
                    <tr>
                        <td class="queryTitle">*对方链接:</td>
                        <td class="queryContent"><input type="text" id="addLinkUrl1"
                            name="addLinkUrl1" class="inputText easyui-validatebox" required="true" /> <font color="red">(必须以http://开头)</font></td>
                    </tr>
                    <tr>
                        <td class="queryTitle">对方QQ:</td>
                        <td class="queryContent"><input type="text" id="addqq"
                            name="addqq" class="inputText easyui-validatebox" required="true" /></td>
                    </tr>
                    <tr>
                        <td class="queryTitle" width="70px">对方手机:</td>
                        <td class="queryContent"><input  type="text" id="addPhone" class="inputText easyui-validatebox" required="true" /></td>
                    </tr>
                    <tr>
                        <td class="queryTitle" width="70px">我方关键词:</td>
                        <td class="queryContent"><input  type="text" id="addKeywords2" class="inputText easyui-validatebox" required="true" /></td>
                    </tr>
                    <tr>
                        <td class="queryTitle" width="70px">我方URL:</td>
                        <td class="queryContent"><input  type="text" id="addLinkUrl2" class="inputText easyui-validatebox" required="true" /> <font color="red">(必须以http://开头)</font></td>
                    </tr>
                    
                </table>
            </form>
        </div>
        <div region="south" border="false"
            style="text-align: center; height: 30px; line-height: 30px;">
            <a class="easyui-linkbutton" iconCls="icon-ok"
                href="javascript:void(0)" onclick="save()">保存</a> <a
                class="easyui-linkbutton" iconCls="icon-cancel"
                href="javascript:void(0)" onclick="closeWin(‘addDlg‘)">关闭</a>
        </div>
    </div>
</div>

</body>
</html>

=================================================

/**
             * 批量导入
             *
             * @param request
             * @param response
             * @param uploadFile
             * @throws Exception
             */
            @RequestMapping(value = "/linksImport", method = RequestMethod.POST)
            public void linksImport(HttpServletRequest request,
                    HttpServletResponse response,
                    @RequestParam("uploadFile") MultipartFile f) throws Exception {
                request.setCharacterEncoding("utf-8");
                response.setCharacterEncoding("utf-8");
                Integer linkType=Integer.parseInt(request.getParameter("linkType"));
                HashMap<String, Object> map = new HashMap<String, Object>();
                try {
                    InputStream is = f.getInputStream();
                    Workbook wb = Workbook.getWorkbook(is);
                    Sheet sheet = wb.getSheet(0);
                    map = this.doImportLinks(sheet,linkType);
                    response.getWriter().write(org.json.simple.JSONObject.toJSONString(map));
                } catch (Exception e) {
                    response.getWriter().write("{code:-3,msg:‘inner error‘}");
                    logger.error(e.getMessage(), e);
                }
            }

=============================================================================

private HashMap<String, Object> doImportLinks(Sheet sheet,Integer linkType) {
                HashMap<String, Object> rslt = new HashMap<String, Object>();
                List<PageIndexLinks> pageIndexLinksList=new ArrayList<PageIndexLinks>();
                if(linkType==null){
                    rslt.put("code", -1);
                    rslt.put("msg", "业务类型传输有错");
                    return rslt;
                }
                int countColumn = sheet.getColumns();
                int countRow = sheet.getRows();
                if (countColumn !=7) {
                    rslt.put("code", -2);// Excel表格应该等于7列
                } else if (countRow <= 1) {
                    rslt.put("code", -2);// Excel表格应该大于1行
                } else {
                    Cell cell = null;
                    for (int i = 1; i < countRow; i++) {
                        PageIndexLinks pageIndexLinks=new PageIndexLinks();
                        pageIndexLinks.setLinkType(linkType);
                        pageIndexLinks.setIsDelete("N");
                        for (int j = 0; j < countColumn; j++) {
                            cell = sheet.getCell(j, i);
                            String content = (null == cell.getContents()) ? "" : cell
                                    .getContents().trim();
                            if(j==0||j==1|j==2){
                                if(StringUtils.isEmpty(content)){
                                    rslt.put("code", -1);
                                    rslt.put("msg", "提供的Excel数据存在空值");
                                    return rslt;
                                }
                            }    
                            if(j==0 || j==2 ||( j==6&& content !=null&&content.length()>0)){
                                if(!content.substring(0, 7).equals("http://")){
                                    rslt.put("code", -1);
                                    rslt.put("msg", "提供的Excel数据存在不合规格的url");
                                    return rslt;
                                }
                            }
                            if(j==0 ){
                              pageIndexLinks.setUrl(content);
                            }else if (j==1){
                                if (content.length()>40 ) {
                                    rslt.put("code", -1);
                                    rslt.put("msg", "提供的Excel数据为:"+content+",超出长度,最多20个中文字符");
                                    return rslt;
                                }else {
                                    pageIndexLinks.setKeywords1(content);
                                }
                              
                            }else if(j==2){
                                pageIndexLinks.setLinkUrl1(content);
                            }else if (j==3 && content !=null &&content.length()>0 ){
                                pageIndexLinks.setQq(content);
                            }else if (j==4 &&  content !=null &&content.length()>0  ){
                                pageIndexLinks.setPhone(content);
                            }else if (j==5 &&  content !=null&&content.length()>0  ){
                                if (content.length()>40 ) {
                                    rslt.put("code", -1);
                                    rslt.put("msg", "提供的Excel数据为:"+content+",超出长度,最多20个中文字符");
                                    return rslt;
                                }else {
                                    pageIndexLinks.setKeywords2(content);
                                }
                            }else if(j==6 &&  content !=null && content.length()>0){
                                pageIndexLinks.setLinkUrl2(content);
                            }
                         }
                        if(pageIndexLinks!=null){
                            pageIndexLinksList.add(pageIndexLinks);
                        }
                   }
                    JSONArray json1=JSONArray.fromObject(pageIndexLinksList);
                    
                    rslt.put("code", 0);
                    rslt.put("pageIndexLinksList", json1.toString());
                    return rslt;
                }
                   return rslt;
          }

=====================================

时间: 2024-10-18 01:24:32

java基础之导入(Excel)2的相关文章

java数据库数据导入excel

data导出入excel中 controller: package com.longfor.hrssc.api.controller; import com.longfor.hrssc.api.model.BasicInformation; import com.longfor.hrssc.api.service.IBasicInformationService; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.u

Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)

ava 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包) 假设现在要做一个通用的导入方法: 要求: 1.xml的只定义数据库表中的column字段,字段类型,是否非空等条件. 2.excel定义成模板,里面只填写了所需要的数据,有可能数据有问题. 3.在导入的时候就需要对每个excel单元格的数据进行验证. 4.验证完之后,若所有数据正确,那么批量保存.若有一点点错误,就不执行保存操作,并提示错误原因. 思路: 1.完美使用了Map的功能,先将xml中的数据存入map

java基础中导入包的作用

junit     单元测试需要导入的包 JAXP Oracle 官方提供的 API,同时支持 DOM 和 SAX 的开发JDOM   JDOM 是一个开源项目,它基于树型结构,利用纯 JAVA 的技术对 XML 文档实现解析.生成.    序列化以及多种操作.Dom4j   是 JDOM 的升级品,用来读写 XML 文件的.具有性能优异.功能强大和极其易使用的特点,它    的性能超过 sun 公司官方的 dom 技术,同时它也是一个开放源代码的软件,Hibernate 也用它   来读写配置

Java的poi技术读取和导入Excel

报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑.Java程序由于其跨平台特性,不能直接操纵Excel.因此,本文探讨一下POI视线Java程序进行Excel的读取和导入. AD:WOT2014:用户标签系统与用户数据化运营培训专场 项目结构: 用到的Excel文件: XlsMain .java 类 //该类有main方法,主要负责运行程序,同时该类中也包含了用poi读取Excel(2003版) import java.io.FileInputSt

Java基础系列19:使用JXL或者POI生成和解析Excel文件

一 简介 如题所示,当我们需要在Java中解析Excel文件时,可以考虑使用JXL或POI的API来解析. 二者的区别如下: jxl现在基本上没被维护了,最近一次更新时间还是几年前.相反,poi属于Apache开源项目的一部分,更新维护得比较好,最新稳定版 POI 3.15 是今年(2016年)9月更新的,同时poi可以支持更高版本的excel,而jxl只能支持excel2003以及之前的版本 小文件使用jxl解析效率比较高,但是因为支持的excel版本的限制,导致不能导出65535以上量级的数

java easyreport 导入excel、 txt 数据简单实现(一)

一直在看博客,却不知道怎么写,但是总是想写点什么,犹豫了两三天,决定还是写点东西吧,来和大家分享下. 今年上半年时候接到了一个需求,具体什么需求就不说了,要求导入excel数据,并提示每一行错误信息.接到手后,查看之前的导入excel报表的代码,发现只有初始化workBook和根据cell获取cell 字符串值得通用方法.觉得可利用的东西太少了,于是决定就构建一个通用的实现导入excel报表的工具包. 实现思路大致是这样的: 提供模板,模板包含读起始行.属性模板集合.读批次.校验出错中端. 添加

Java利用POI导入导出Excel中的数据

     首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地址http://poi.apache.org/download.html,有兴趣的朋友也可以去看看其中的API.      下面分享一下在对POI进行基本操作时觉得需要注意的两点:       1.POI中针对xlsx/xls是需要create different Workbook instance

JAVA将执行sql结果导入excel

Java实现将查询的sql结果集导入excel,用到jxl.jar包可在http://download.csdn.net/detail/qq8618/8304057 下载 public String queryResultToExcel(String sql,String filename,OutputStream os) { Connection conn = null; Statement sm = null; ResultSet rs = null; try { conn = getCon

Java POI导入Excel文件

今天在公司需要做个导入Excel文件的功能,所以研究了一下,参考网上的一些资料总算是做出来了,在此记录一下防止以后忘记怎么弄. 本人用的是poi3.8,所以需要的JAR包如下: poi-3.8.jar poi-excelant-3.8-20120326.jar poi-ooxml-3.8-20120326.jar poi-ooxml-schemas-3.8-20120326.jar poi-scratchpad-3.8-20120326.jar xmlbeans-2.3.0.jar 附上百度云盘