JAVA中EXLS导入功能实现 - 代码

JAVA中EXLS导入功能实现 - 代码:

 基于SSH框架下导入的流程及解析:

private File file;

    public synchronized File getFile() {
        return file;
    }
    public synchronized void setFile(File file) {
        this.file = file;
    }
/**
     * 导入exls 并解析
     * @throws Exception
     */
    public void inputfile() throws Exception{
        String text = (String) super.getRequest().getParameter("text");
        int flowid= 1415415;//(String)super.getRequest().getParameter("flowid");
          System.out.println("text>>"+text);
          System.out.println("files>>"+file);
          try {
              FileInputStream fs = new FileInputStream(file);
                  //             初始化一个工作簿
            HSSFWorkbook hwb = new HSSFWorkbook(fs);
            //             第一张表单
            HSSFSheet sheet = hwb.getSheetAt(0);
            HSSFRow row = null;
            int q=0;
            //遍历改行所有的行,j表示行数 getPhysicalNumberOfRows()表示得到行的总数
            for (int j = 1; j < sheet.getPhysicalNumberOfRows(); j++) {
            row = sheet.getRow(j);
            //获取当前页
            sheet = hwb.getSheetAt(0);
//            获取首行属性名
            HSSFRow rows = sheet.getRow(0);
            String sql ="(rms.int_id.nextval,";
            String keysql="(int_id,";
            //遍历所有值
            for(int f=0;f<row.getLastCellNum();f++){
                String stringkey =String.valueOf( rows.getCell(f).getRichStringCellValue());
                //获取属性英文名
                String key=queryDataService.queryatr(stringkey,text);
                keysql +=""+key+",";
                String state=queryDataService.getAttributestate(text,key);

                //获取值
                String value =String.valueOf( row.getCell(f).getRichStringCellValue());

                //判断数据类型拼装sql
                if(("integer").equals(state)){

                    sql +=""+value+",";
                    }else if(("datetosecond").equals(state)){
                    value=value.substring(0,value.length()-2);
                    sql +="to_date(‘"+value+"‘,‘yyyy-mm-dd hh24:mi:ss‘),";
                    }else{
                        sql +="‘"+value+"‘,";
                    }
            }
            keysql=keysql.substring(0,keysql.length()-1);
            keysql +=")";
            sql=sql.substring(0,sql.length()-1);
            sql +=")";

            String addSql=""+keysql+" values "+sql+"";
            q=queryDataService.addReviseData(addSql, text);

            }
            if(q>0){
                super.getResponse().setHeader("Content-type", "text/html;charset=UTF-8");
                super.getResponse().getWriter().write("{\"success\":true}");
            }else{
            super.getResponse().setHeader("Content-type", "text/html;charset=UTF-8");
            super.getResponse().getWriter().write("{\"success\":false}");
            }
          } catch (Exception e) {
           e.printStackTrace();
           super.getResponse().setHeader("Content-type", "text/html;charset=UTF-8");
            super.getResponse().getWriter().write("{\"success\":false}");
          }
          }

原文地址:https://www.cnblogs.com/ggq94/p/9732697.html

时间: 2024-09-29 09:50:11

JAVA中EXLS导入功能实现 - 代码的相关文章

JAVA中EXLS导出功能实现 - 代码

JAVA中EXLS导出功能实现  - 代码: 基于SSH框架下的exls导出 public void exportExl() throws Exception{ String text = (String) super.getRequest().getParameter("text"); String flowid="051021";//(String)super.getRequest().getParameter("flowid"); Resu

Java中Excel导入功能实现、excel导入公共方法_POI -

这是一个思路希望能帮助到大家:如果大家有更好的解决方法希望分享出来 公司导入是这样做的 每个到导入的地方 @Override public List<DataImportMessage> materialDataImport2(byte[] fileBytes, String fileName) { //return DataImport(fileBytes, fileName, "inv_m"); File file = FileUtils.getFileFromByte

Java中读取Excel功能实现_POI

这里使用apache的poi进行读取excel 1,新建javaproject 项目:TestExcel 2,导入包 包下载地址:http://poi.apache.org/download.html#POI-3.10-FINAL 百度网盘下载:http://pan.baidu.com/s/1i365mQT 导入根目录下.lib.ooxml-lib下的所有jar 4,操作读取excel import java.io.File; import java.io.IOException; import

php开发中Excel导入功能的具体实现方法

对于在做php开发项目中,一般的项目设计到最多用到的是Excel的导出功能,而对于其导入功能一般是很少见的,而且对于php开发中Excel的导入功能也要比导出功能开发起来更困难一些,那么今天就来分享一下php开发中Excel导入功能的具体实现步骤: 1.首先将下载下来的PHP Excel插件代码放入项目/Thinkphp/Extend/Vendor/下; 2.在模板添加导入功能; html代码实现如下:<form action="{:U('Turntable/imports')}"

1.JAVA中使用JNI调用C++代码学习笔记

Java 之JNI编程1.什么是JNI? JNI:(Java Natibe Inetrface)缩写. 2.为什么要学习JNI?  Java 是跨平台的语言,但是在有些时候仍然是有需要调用本地代码 (这些代码通常是由C/C++编写的). Sun公司提供的JNI是Java平台的一个功能强大的接口.这个JNI接口提供了Java与操作系统本地代码互相调用的功能.(即java调用C++代码) 最简单的Java调用C/C++代码步骤 1.创建TestNativeCode工程,新建cn.itcast包,新建

java中实现定时功能

网上资料: 我们可以使用Timer和TimerTask类在java中实现定时任务,详细说明如下: 1.基础知识java.util.Timer一种线程设施,用于安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行.此类是线程安全的:多个线程可以共享单个 Timer 对象而无需进行外部同步.java.util.TimerTask由 Timer 安排为一次执行或重复执行的任务. 2.示例代码该示例实现这样一个功能,在系统运行期间,每30分钟,系统自动检查连接池中的可用连接数,并输出到日

Java中String.equals()方法的实现代码

java中String类里的String.equals()方法: 源代码: public boolean equals(Object anObject) { //如果是同一个对象 if (this == anObject) { return true; } //如果传递进来的参数是String类的实例 if (anObject instanceof String) { String anotherString = (String)anObject; int n = count;//字符串长度 i

关于JAVA中的导入导出的方式

在JavaWeb项目中,会用到恨到的导入导出的功能,常见的导出导出jxl和poi两种方式,下面先简单的分析下这两种方式的性能 JXL.jar  http://www.andykhan.com/jexcelapi/download.html  下载地址 优点: Jxl对中文支持非常好,操作简单,方法看名知意. Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支

对上次“对字符串进行简单的字符数字统计 探索java中的List功能 ”程序,面向对象的改进

之前的随笔中的程序在思考后发现,运用了太多的static 函数,没有将面向对象的思想融入,于是做出了一下修改: 1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.List; 4 import java.util.Scanner; 5 6 7 public class classtest { 8 9 List<String> number=new ArrayList<String