这些只是一部分代码
上传代码:
private int fileControl(HttpServletRequest req, HttpServletResponse resp,
String fileString) throws ServletException {
int res = 0;
// 在解析请求之前先判断请求类型是否为文件上传类型
boolean isMultipart = ServletFileUpload.isMultipartContent(req);
// 文件上传处理工厂
FileItemFactory factory = new DiskFileItemFactory();
// 创建文件上传处理器
ServletFileUpload upload = new ServletFileUpload(factory);
// 开始解析请求信息
List items = null;
try {
items = upload.parseRequest(req);
} catch (FileUploadException e) {
e.printStackTrace();
}
// 对所有请求信息进行判断
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
// 信息为普通的格式
if (item.isFormField()) {
String fieldName = item.getFieldName();
String value = item.getString();
req.setAttribute(fieldName, value);
}
// 信息为文件格式
else {
String fileName = item.getName();
int index = fileName.lastIndexOf("\\");
fileName = fileName.substring(index + 1);
String sufx = fileName.substring(fileName.indexOf("."),
fileName.length());
fileString = fileString + sufx;
if (sufx.equals(".xls")) {
req.setAttribute("realFileName", fileString);
String basePath = req.getRealPath("/import");
File file = new File(basePath, fileString);
try {
item.write(file);
} catch (Exception e) {
e.printStackTrace();
}
res = 1;
} else {
res = 2;
}
}
}
return res;
}
@SuppressWarnings("unchecked")
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
ExportExcel.tableHeader = new ArrayList<String>();
response.setContentType("application/octet-stream");
ExportExcel ee = new ExportExcel();
List<List<Object>> list = (List<List<Object>>) request.getSession()
.getAttribute("list");
if (list == null) {
request.getRequestDispatcher("/index.jsp").forward(request,
response);
}
for (int i = 0; i < list.get(0).size(); i++) {
ExportExcel.tableHeader.add(list.get(0).get(i).toString());
}
String fileName = "1340957498535.xls".trim();
try {
String fileRealPath = request.getRealPath("/export/" + fileName);
ee.createExcelSheet(list, fileRealPath);
response.setHeader("Content-Disposition", "attachment;filename=\""
+ fileName + "\"");
request.getRequestDispatcher("/export/"+fileName).forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
有个小案例 http://download.csdn.net/detail/zhaokuo719/4401391 ;虽然分数高但是物有所值;此项目里面包涵了java利用poi对excel操作