使用JexcelApi包 maven依赖
<dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> </dependency>
可以以文件形式读取,也可以读取流形式读取,比如读取HTTP上传的excel文件
public void getExcel(HttpServletRequest request){
final FileItem item = getFileItem(request);
Workbook book = Workbook.getWorkbook(item.getInputStream());
Sheet sheet = book.getSheet(0);
int rows = sheet.getRows();
int cols = sheet.getColumns();
String errMsg = "errorline:";
int errCount = 0;
for (int i = 1; i < rows; i++) {
for(int j=0;j<cols;j++)
System.out.print(sheet.getCell(j,i).getContents);
System.out.println()
}
book.close();
}
static FileItem getFileItem(HttpServletRequest request) throws FileUploadException {
DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding("utf-8");
List<FileItem> items = upload.parseRequest(request);
for (FileItem item : items)
if (!item.isFormField())
return item;
return null;
}
如果以读取本地文件的话
File file=new File("D:\\a.xls");
Workbook book=Workbook.getWorkbook(file);