乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>java</em>怎么读取上传的excel文件-java excel上传,java实现e

<em>java</em>怎么读取上传的excel文件-java excel上传,java实现e

作者:乔山办公网日期:

返回目录:excel表格制作


把excel表上传到服务器后,接着就是读取excel表里的内容,
所以还要在相关的处理类里,写一个读取excel表内容的方法.
excel表的内容对应的实体类,要与数据库里的字段对应.

java怎么读取上传的excel文件,解决办法:

  1. 添加jar文件,java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。

  2. jxl对Excel表格的认识,每个单元格的位置认为是由一个二维坐标(i,j)给定,其中i表示列,j表示行,并且从上到下递增,从左到右递增。

  3. 对于合并单元格的以最左,最上的单元格的坐标为准。如下图中t.xls,一班名单(0,0),陈茵(1,2),陈开先(1,6)。

4.java代码对t.xls的读取



用java如何实现将excel文件(.xls)从一个服务器上传到另一台服务器 和
用java如何实现将文件从一个服务器上传到另一台服务器 有什么区别吗?

这两台服务器又分别是什么操作系统?是通过页面zhidao操作传送,还是后台传送?

public boolean myapp_readexcel(String filePath, int sheetNum) {//上传的文件地址,sheetNum这个是excel下的那个sheet1的标志,sheet1这里对应数字是0
e69da5e887aae799bee5baa6e79fa5e98193336InputStream ins = null;
Workbook book = null;
try {
ins = new FileInputStream(filePath);
book = WorkbookFactory.create(ins);
getInsertData(book.getSheetAt(sheetNum));//这里面进行读取操作和业务逻辑
ins.close();

} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (ins != null) {
try {
ins.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return res;
}
private boolean getInsertData(Sheet sheet) {
boolean res = false;
Iterator<Row> rit = sheet.iterator();//每一行的迭代
while (rit.hasNext()) {
lineMap = getDataByRow(rit);

System.out.println(lineMap.get("0"));
System.out.println(lineMap.get("1"));...................................
}

}
public Map<String,String> getDataByRow(Iterator<Row> rit){
Map<String, String> lineMap;
Row row;
Cell cell;
row = rit.next();
lineMap = new ConcurrentHashMap<String, String>(); // 用于接收每列的数据。
for (int i = 0; i <= row.getLastCellNum(); i++) {
cell = row.getCell(i);
String k = ""; // 用于接收每个单元格的数据。
if (cell == null) {
lineMap.put(String.valueOf((i)), k); // 赋值。
continue;
}
switch (cell.getCellType()) {
case Cell.CELL_TYPE_BLANK:
k = "";
break;
case Cell.CELL_TYPE_ERROR:
k = Byte.toString(cell.getErrorCellValue());
break;
case Cell.CELL_TYPE_STRING:
k = cell.getRichStringCellValue().getString();
break;
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
k = sdf.format(cell.getDateCellValue());
} else {
k = Integer.toString((int) cell.getNumericCellValue());
}
break;
case Cell.CELL_TYPE_BOOLEAN:
k = Boolean.toString(cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_FORMULA:
k = cell.getCellFormula();
break;
default:
k = "";
}
if ((k != null) && (!"".equals(k))) {

lineMap.put(String.valueOf((i)), k); // 赋值。

} else {
lineMap.put(String.valueOf((i)), ""); // 赋值。
}

}
return lineMap;
}

相关阅读

关键词不能为空

ppt怎么做_excel表格制作_office365_word文档_365办公网