package web.struts.action;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import web.struts.form.UploadForm;
import entity.Userinfo;
/** */
/**
* MyEclipse Struts Creation date: 04-21-2008
*
* XDoclet definition:
*
* @struts.action path="/importdata" name="uploadForm" scope="request"
*/
public class UploadAction extends Action {
/**//*
* Generated Methods
*/
/** */
/**
* Method execute
*
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
UploadForm uploadForm = (UploadForm) form;// TODO Auto-generated method
request.setCharacterEncoding("gbk");
response.setCharacterEncoding("gbk");
FormFile xlsFile = uploadForm.getTheFile();
System.out.println(xlsFile.getFileName());
System.out.println(xlsFile.getContentType());
System.out.println(xlsFile.getFileSize());
System.out.println(xlsFile.getContentType());
if (!xlsFile.getContentType().equals("application/octet-stream"))// //////////不是excel文件
{
System.out.println("类型不对");
return mapping.findForward("import_data_error");
} else {
try {
List list = importData(xlsFile.getInputStream());
request.setAttribute("List", list);
System.out.println(list.get(0));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mapping.findForward("success");
}
}
private List importData(InputStream is) {
// *获得xls数据,并导入
List list = new ArrayList();
try {
jxl.Workbook rwb = Workbook.getWorkbook(is);
// /这里假设有多个sheets,若只有一个,则下面没必要用for,直接get(0)
//int sheets = rwb.getNumberOfSheets();
String cluma[] = null; // 存储每行的数据
Sheet rs = rwb.getSheet(0);
System.out.println("Sheet Name:" + rs.getName());
int columnNum = rs.getColumns();
int rowNum = rs.getRows();
System.out.println("columnNum:" + columnNum);
for (int row = 0; row < rowNum; row++) {
cluma = new String[columnNum];
for (int column = 0; column < columnNum; column++) {
Cell crl = rs.getCell(column, row);
cluma[column] = crl.getContents();
System.out.println(crl.getContents() + "crl值");
//list.add(cluma);
}
System.out.println("结束");
list.add(cluma);
/*for (int i = 0; i < cluma.length; i++) {
System.out.println(cluma[i] +"第二次");
}*/
}
rwb.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
return list;
}
}
评论12
最新资源