作用:在java后台添加一个方法,读取导入的excel内容,根据需要返回相应的sql语句,以完成对临时表的插入操作。

使用jxl读取excel文件

package com.sixthf.bi.sapp.util;

import java.io.IOException;
import java.io.InputStream; import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException; import org.apache.struts.upload.FormFile; import com.got.util.uid.UUIDGener; public class PhoneUtil{ /**
* 读取xls文件内容
*
* @param file 想要读取的文件对象,importfilesn;
* @return sql语句
*/
public static String readPhoneExcel(FormFile formFile,String importfilesn) throws IOException, BiffException {
  InputStream stream = formFile.getInputStream();
Workbook rwb = Workbook.getWorkbook(stream);
Sheet[] sheets = rwb.getSheets();
StringBuffer SBbuffer = new StringBuffer(); for(int i=0;i<sheets.length;i++) {
Sheet rs = rwb.getSheet(i);
String period = rs.getCell(0, 1).getContents().replace("年", "-").replace("月", "");//得到当前工作表的第二行第一列即账务周期
for(int j=1;j<rs.getRows();j++) {
String first = rs.getCell(0, j).getContents();
String phone = rs.getCell(1, j).getContents();//得到当前工作表的当前行的第二列即接入号码
if(!first.contains("合计")) {
if(!phone.equals("") && !phone.equals("小计:")) {
SBbuffer
.append("insert into CMMU_PAPERANSWER_TMP (SUBIMPORTFILESN,Importfilesn,answer1,answer2, answer5)values(")
.append("'")
.append(UUIDGener.getUUID().replaceAll("-", ""))
.append("','")
.append(importfilesn)
.append("','")
.append(period)
.append("','")
.append(phone)
.append("','"); for(int k=j+1;k<rs.getRows(); k++) {
phone = rs.getCell(1, k).getContents();
if(phone.contains("小计")) {
String costnum = rs.getCell(3, k).getContents();//得到当前工作表的当前行的第四列即费用 SBbuffer
.append(costnum)
.append("');")
.append("\n");
j = k;
break;
}
else continue;
}
}
else continue;
}
else break;
}
}
String string = SBbuffer.toString();
return string;
} }

使用poi读取excel

package com.sixthf.bi.sapp.util;

import java.io.IOException;
import java.io.InputStream; import jxl.read.biff.BiffException; import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.struts.upload.FormFile; import com.got.util.uid.UUIDGener; public class PhoneUtil{ /**
* 读取xls文件内容
*
* @param file 想要读取的文件对象,importfilesn;
* @return sql语句
*/
public static String readPhoneExcel(FormFile formFile,String importfilesn) throws IOException, BiffException {
  InputStream stream = formFile.getInputStream();
HSSFWorkbook rwb = new HSSFWorkbook(stream);
int numSheet = rwb.getNumberOfSheets();
StringBuffer SBbuffer = new StringBuffer(); for(int i=0;i<numSheet;i++) {
HSSFSheet rs = rwb.getSheetAt(i);
String period = rs.getRow(1).getCell((short)0).toString().replace("年", "-").replace("月", "");
for(int j=1;j<rs.getPhysicalNumberOfRows();j++) {
String first = rs.getRow(j).getCell((short) 0).toString();
String phone = rs.getRow(j).getCell((short) 1).toString();//得到当前工作表的当前行的第二列即接入号码
if(!first.contains("合计")) {
if(!phone.equals("") && !phone.equals("小计:")) {
SBbuffer
.append("insert into CMMU_PAPERANSWER_TMP (SUBIMPORTFILESN,Importfilesn,answer1,answer2, answer5)values(")
.append("'")
.append(UUIDGener.getUUID().replaceAll("-", ""))
.append("','")
.append(importfilesn)
.append("','")
.append(period)
.append("','")
.append(phone)
.append("','"); for(int k=j+1;k<rs.getPhysicalNumberOfRows(); k++) {
phone = rs.getRow(k).getCell((short) 1).toString();
if(phone.contains("小计")) {
String costnum = rs.getRow(k).getCell((short) 3).toString();//得到当前工作表的当前行的第四列即费用 SBbuffer
.append(costnum)
.append("');")
.append("\n");
j = k;
System.out.println(k);
break;
}
else continue;
}
}
else continue;
}
else break;
}
}
String string = SBbuffer.toString();
return string;
} }

jxl.jar包下载链接: http://pan.baidu.com/s/1i3k6ccP

poi.jar包下载链接: http://pan.baidu.com/s/1jGrVBCi

使用jxl,poi读取excel文件的更多相关文章

  1. JAVA使用POI读取EXCEL文件的简单model

    一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...

  2. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  3. 使用POI 读取 Excel 文件,读取手机号码 变成 1.3471022771E10

    使用POI 读取 Excel 文件,读取手机号码 变成 1.3471022771E10 [问题点数:40分,结帖人xieyongqiu]             不显示删除回复             ...

  4. jspsmart(保存文件)+poi(读取excel文件)操作excel文件

    写在前面: 项目环境:jdk1.4+weblogic 需求:能上传excel2003+2007 由于项目不仅需要上传excel2003,还要上传excel2007,故我们抛弃了jxl(只能上传exce ...

  5. 使用POI读取excel文件内容

    1.前言 项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. 2.代码实例: ...

  6. java使用jxl,poi解析excel文件

    public interface JavaExcel { /** * 使用jxl写excel文件 */ public void writeJxlExcel(); /** * 使用jxl读excel文件 ...

  7. Java实现POI读取Excel文件,兼容后缀名xls和xlsx

    1.引入所需的jar包: maven管理项目的话直接添加以下坐标即可: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -- ...

  8. 使用poi读取excel文件 Cannot get a text value from a numeric cell

    我这样转换得到一个excel文本域的值 Cell cell = row.getCell(c); cell.setCellType(Cell.CELL_TYPE_STRING); String park ...

  9. spring boot 使用 POI 读取Excel文件

    内容简介 本文主要介绍使用POI进行Excel文件的相关操作,涉及读取文件,获取sheet表格,对单元格内容进行读写操作,以及合并单元格的操作. Excel文件目录 Excel模板文件存了resour ...

随机推荐

  1. VS中Debug和Realease、及静态库和动态库的区别整理(转)

    原文出自:http://www.cnblogs.com/chensu/p/5632486.html 一.Debug和Realease区别产生的原因 Debug 通常称为调试版本,它包含调试信息,并且不 ...

  2. Android应用开发-网络编程(一)(重制版)

    网络图片查看器 1. 确定图片的网址 2. 发送http请求 URL url = new URL(address); // 获取客户端和服务器的连接对象,此时还没有建立连接 HttpURLConnec ...

  3. 显示intent和隐示intent有什么区别

    显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent. 隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent. 说明:And ...

  4. VR全景项目外包团队— VR/AR相关领域介绍和VR全景案例

    VR/AR相关领域这里我要说的一点就是硬件.诚然,硬件的确很难搞,国内在这方面就是荒漠,所以,如果你有信心,完全可以开拓一片蓝海.注意我是说真正的硬件,那些把Google的纸盒子拿来改改就能融资千万的 ...

  5. json在项目中的应用大总结

    一.摘要 刚开始接触json的时候,那时候还不太清楚json到底是个什么东西,然后就在项目中使用了它.因为没有搞明白json的本质,所以刚开始使用json的时候走了不少弯路.这次总结一些json的知识 ...

  6. JSP的基本语法:

    JSP文件有5类元素:注释,模版,脚本,指令,行为 下面我就和大家分别唠唠,这5个玩意到底是啥玩意! 一.注释(我feel有三种): html注释:<!--……-->  显式注释,即客户端 ...

  7. undefined reference to `_init'问题解决

    今天利用CDT 的eclipse调试程序,遇到下面的问题: d:/plugin/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi ...

  8. C# 随机红包算法

    static void Main(string[] args) { ; ; double minAmount = 0.01; Random r = new Random(); ; i < num ...

  9. B2B商城网站前端开发

    最近在时间很忙,在弄一个B2B商城,运用到的easyUI+javaWEB(maven)+JQuery+Scss+JavaScript+其他框架(sea.js模块化等),我负责前端这块:后期的重要的前端 ...

  10. [zz]Maya C++ API Programming Tips

    Maya C++ API Programming Tips source : http://wanochoi.com/?page_id=1588 How to handle the multiple ...