jxl可以导出2007的excel吗?如果我要导出2007的excel谁能给点建议 50
我现在需要导出200W的数据,分成两个sheet,一个sheet存放100W的数据,用jxl可以办到吗?或者用poi?哪位大侠能给你实例?...
我现在需要导出200W的数据,分成两个sheet,一个sheet存放100W的数据,用jxl可以办到吗?或者用poi?哪位大侠能给你实例?
展开
4个回答
展开全部
public String exportxm() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
// String wid=request.getParameter("wid");
String[] headers = { "项目名称", "填报人", "填报时间", "合同额", "预计毛利", "项目计划完成时间", "所属部门"};
String[] columns = { "sernum", "personer.name", "times","xsjobes", "xsb", "plannedate", "subdept.name"};
Map<String, Object> values = new HashMap<String, Object>();
//Page<Worktype> page1 = new Page<Worktype>(40);
// 设置默认排序方式
if (!page.isOrderBySetted()) {
page.setOrderBy("id");
page.setOrder(Page.DESC);
}
page.setPageSize(9999);
page = manager.searchWork(page, values);
String title="项目管理表";
// 生成Excel文件.
Workbook wb = new ExcelExport(title, headers,columns, page)
.exportExcelWorkbook();
// 输出Excel文件.
HttpServletResponse response = Struts2Utils.getResponse();
response.setContentType(ServletUtils.EXCEL_TYPE);
ServletUtils.setFileDownloadHeader(response, "项目管理-"+accountManager.getcurrentUser().getName()+".xls");
wb.write(response.getOutputStream());
response.getOutputStream().flush();
return null;
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
/**
* 设置让浏览器弹出下载对话框的Header.
*
* @param fileName 下载后的文件名.
*/
public static void setFileDownloadHeader(HttpServletResponse response, String fileName) {
try {
//中文文件名支持
String encodedfileName = new String(fileName.getBytes(), "ISO8859-1");
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedfileName + "\"");
} catch (UnsupportedEncodingException e) {
}
}
public static final String EXCEL_TYPE = "application/vnd.ms-excel";
、、、、、、、、、、、、、、、
/**
* 导出到excel
* @param title 标题
* @param headers 表格头
* @param result 数据
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public ExcelExport(String title,String[] headers,String[]columns, Page page){
this.title=title;
this.headers=headers;
this.result=transhashmap(columns, page.getResult());
}
/**
* 将listObject 转换为List<HashMap<Integer, Object>>
* @param columns
* @param olist
* @return
*/
private List<HashMap<Integer, Object>> transhashmap(String[] columns,List<Object> olist){
List<HashMap<Integer, Object>> result=Lists.newArrayList();
for(Object o:olist){
HashMap<Integer, Object> ht=this.transhashmap(columns, o);
result.add(ht);
}
return result;
}
/**
* 将object 转换为hashmap
* @param columns
* @param olist
* @return
*/
private HashMap<Integer, Object> transhashmap(String[] columns,Object o){
int col=0;
HashMap<Integer, Object> ht=new HashMap<Integer, Object>();
for(String column:columns){
//根据属性名称直接获取值
Object value=this.invokeGetterMethod(o, column);
ht.put(col,value);
col=col+1;
}
return ht;
}
HttpServletRequest request = ServletActionContext.getRequest();
// String wid=request.getParameter("wid");
String[] headers = { "项目名称", "填报人", "填报时间", "合同额", "预计毛利", "项目计划完成时间", "所属部门"};
String[] columns = { "sernum", "personer.name", "times","xsjobes", "xsb", "plannedate", "subdept.name"};
Map<String, Object> values = new HashMap<String, Object>();
//Page<Worktype> page1 = new Page<Worktype>(40);
// 设置默认排序方式
if (!page.isOrderBySetted()) {
page.setOrderBy("id");
page.setOrder(Page.DESC);
}
page.setPageSize(9999);
page = manager.searchWork(page, values);
String title="项目管理表";
// 生成Excel文件.
Workbook wb = new ExcelExport(title, headers,columns, page)
.exportExcelWorkbook();
// 输出Excel文件.
HttpServletResponse response = Struts2Utils.getResponse();
response.setContentType(ServletUtils.EXCEL_TYPE);
ServletUtils.setFileDownloadHeader(response, "项目管理-"+accountManager.getcurrentUser().getName()+".xls");
wb.write(response.getOutputStream());
response.getOutputStream().flush();
return null;
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
/**
* 设置让浏览器弹出下载对话框的Header.
*
* @param fileName 下载后的文件名.
*/
public static void setFileDownloadHeader(HttpServletResponse response, String fileName) {
try {
//中文文件名支持
String encodedfileName = new String(fileName.getBytes(), "ISO8859-1");
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedfileName + "\"");
} catch (UnsupportedEncodingException e) {
}
}
public static final String EXCEL_TYPE = "application/vnd.ms-excel";
、、、、、、、、、、、、、、、
/**
* 导出到excel
* @param title 标题
* @param headers 表格头
* @param result 数据
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public ExcelExport(String title,String[] headers,String[]columns, Page page){
this.title=title;
this.headers=headers;
this.result=transhashmap(columns, page.getResult());
}
/**
* 将listObject 转换为List<HashMap<Integer, Object>>
* @param columns
* @param olist
* @return
*/
private List<HashMap<Integer, Object>> transhashmap(String[] columns,List<Object> olist){
List<HashMap<Integer, Object>> result=Lists.newArrayList();
for(Object o:olist){
HashMap<Integer, Object> ht=this.transhashmap(columns, o);
result.add(ht);
}
return result;
}
/**
* 将object 转换为hashmap
* @param columns
* @param olist
* @return
*/
private HashMap<Integer, Object> transhashmap(String[] columns,Object o){
int col=0;
HashMap<Integer, Object> ht=new HashMap<Integer, Object>();
for(String column:columns){
//根据属性名称直接获取值
Object value=this.invokeGetterMethod(o, column);
ht.put(col,value);
col=col+1;
}
return ht;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不可以 jxl只能操作2003
用poi 吧
用poi 吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你还是把2007转成兼容模式吧,这样就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询