先获取文件上传到服务器,再从服务器取到文件名,然后用poi读取表格内容,循环一条条的插入到数据库就可以了
附上我的工具类 给你看,不懂的可以回复我
package com.egintra.frame.util;
import java.io.FileInputStream;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
*
* @ClassName: ExcleUtil
* @Description: (导入Excel)
* @author zhaokejin
* @date 2015年11月2日 上午9:06:43
*
*/
public class ExcleUtil {
private static String type = "0_);[Red]\\(0\\)";
@SuppressWarnings({ "unused", "deprecation" })
public static String[][] readExcel(String filePath, String dateType,
String numFormat) {
String[][] s = null;
DecimalFormat df = new DecimalFormat("0");// 格式化 number String 字符
SimpleDateFormat sdf = new SimpleDateFormat(dateType);// 格式化日期字符串"yyyy-MM-dd HH:mm:ss"
DecimalFormat nf = new DecimalFormat(numFormat);// 格式化数字
try {
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
filePath));
HSSFSheet sheet = workbook.getSheetAt(0);
int rows = sheet.getPhysicalNumberOfRows();
s = new String[rows][];
if (rows > 0) {
// 获取总列数`
// int cells = sheet.getRow(0).getPhysicalNumberOfCells();
for (int r = 0; r < rows; r++) {
HSSFRow row = sheet.getRow(r);
int cells = row.getPhysicalNumberOfCells();
String[] cellsvalue = new String[cells + 1];
for (short c = 0; c < cells; c++) {
String value = "";
HSSFCell cell = row.getCell(c);
if (cell != null) {
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_FORMULA:
value = String.valueOf(Math.round(cell
.getNumericCellValue()));
break;
case HSSFCell.CELL_TYPE_NUMERIC:
if ("@".equals(cell.getCellStyle()
.getDataFormatString())) {
value = df.format(cell
.getNumericCellValue());
} else if ("General".equals(cell.getCellStyle()
.getDataFormatString())) {
value = nf.format(cell
.getNumericCellValue());
} else if (type.equals(cell.getCellStyle()
.getDataFormatString())) {
value = String.valueOf(cell
.getNumericCellValue());
} else {
value = sdf.format(HSSFDateUtil
.getJavaDate(cell
.getNumericCellValue()));
}
break;
case HSSFCell.CELL_TYPE_STRING:
value = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BLANK:
value = "";
default:
break;
}
if (cell == null) {
value = "";
}
}
cellsvalue[c] = value;
if (value.endsWith(".0")) {
cellsvalue[c] = value.substring(0,
value.length() - 2);
}
}
s[r] = cellsvalue;
}
}
} catch (Exception ex) {
//自动生成 catch 块
ex.printStackTrace();
}
return s;
}
}
- 等 最代码怎么获取牛币啊?
- 完 谁来告诉我最代码上线的时间,答对者给5牛币,先来先得
- 等 牛友们,大家好,你们做程序员多久了?现在还好吗?
- 完 在微信打开的页面里进行app下载
- 等 最代码2014年欢乐聚声会
- 完 mysql如何查询表数据并且对3个字段降序的SQL?
- 完 最代码牛币机制改革
- 完 成功的在bae上使用了自定义运行环境 jetty+nginx的组合,大家对jetty+nginx优化有哪些心得?
- 完 进来分享一下各位牛牛是如何加入最代码大家庭的?
- 等 为什么java BufferedImage类处理大图直接抛出内存溢出的异常?
- 等 最代码是否开发手机app客户端?
- 完 java程序员学习哪些java的技术?java有哪些框架?都能做哪方面的开发?
- 等 php格式网页文件怎么运行?
- 等 Java volatile值获取的问题
- 等 前端vue,拦截了登录后台后,返回的token,requests拦截token,但是发送请求的时候,就出现跨越异常
- 等 大专本科计算机科班怎么找到Java工作?
- 等 eclipse怎么把三个java swing游戏项目合成一个项目?
- 完 伙伴们,大家都有什么好的解压方式么,分享一下~
- 完 三四线城市,6、7k,运维工作,索然无味,想去辞职上培训,各位牛牛有什么建议嘛
- 等 jsp页面输入中文变成问号
- 等 JPA在线上运行一段时间后报错Caused by: java.lang.IncompatibleClassChangeError: null
- 等 PHP 这个规则用preg_match_all怎么写
- 等 大佬们,有没有知道Alfresco如何配置LDAP登录呢?
- 等 php的install目录是框架带的吗?
- 等 JAVA POI如何将上标下标写入word文件中?
- 等 apache poi导出几十万数据内存溢出,有什么好的解决方法吗?
- 等 apache poi读取excel,.xlsx格式如何统计手机号的数量?
- 等 为什么在IE浏览器下web端通过js调用apache poi后台导出execl执行2遍?
- 完 如何通过apache POI技术来读取Word文档,并把Word文档的原来格式完整地显示在html网页?
- 完 java通过apache poi导入excel07 出错???
- 等 java通过poi导出EXCEL大数据量到数据库的问题
- 等 java通过poi导入Excel写入mysql数据库遇到的问题求解