用户登录
用户注册

分享至

jxl可以导出word吗 jxl怎么导出excel2007

  • 作者: 女神我有种子
  • 来源: 51数据库
  • 2020-04-17

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;

}

java中,用jxl导出EXCLE问题

定义字体格式

WritableFont.ARIAL- 居中对齐

12 - 字号

WritableFont.NO_BOLD - 无边框

false 是否是斜体字

使用jxl导出excel时怎么创建多个sheet

只是晏府的气氛,

却比汴京的秋日还沉凝,

带分萧瑟中的纷纷叶落。

Jxl如何创建EXCEL模板,并怎样可以有效导出EXCEL数据

package gongju;import java.util.Vector;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

import dao.ExcelDao;

import jxl.Workbook;

import jxl.format.UnderlineStyle;

import jxl.write.Label;

import jxl.write.WritableFont;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;public class DaoChuExcel extends ActionSupport {

/**

* 生成Excel文件

* @return L

*/

public String DCEecel() { HttpServletResponse response = ServletActionContext.getResponse();

try {

String fileName = "test";

response.setContentType("aplication/msexcel"); // 设置文件类型

response.setHeader("Content-disposition", "attachment; filename="

+ fileName + ".xls");

WritableWorkbook book = Workbook.createWorkbook(response

.getOutputStream()); // 创建文件

WritableSheet sheet = book.createSheet("sheet", 0); // 创建工作薄 jxl.write.WritableFont titleFont = new jxl.write.WritableFont(

WritableFont.ARIAL, 12, WritableFont.BOLD, false,

UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.DARK_BLUE);

jxl.write.WritableCellFormat titleCellFormat = new jxl.write.WritableCellFormat(

titleFont); // 设置表头

String[] titles = new String[] { "Jid", "Jdoec", "Jmin", "Jmax" }; int columnLength[] = { 20, 30, 10, 30, 20, 15, 15, 15 };

for (int i = 0; i < titles.length; i++) {

sheet.setColumnView(i, columnLength[i]); // 设置列的宽度

Label label = new Label(i, 0, titles[i], titleCellFormat);

sheet.addCell(label);

} ExcelDao edao = new ExcelDao();

// 动态填充数据

Vector vector = edao.ex();

for (int i = 0; i < vector.size(); i++) {

Object[] jobdata = (Object[]) vector.elementAt(i);

for (int j = 0; j < jobdata.length; j++) {

if(jobdata[j] instanceof Integer) {

Label wlabel1 = new Label(j, i, jobdata[j].toString()); //转String、

sheet.addCell(wlabel1);

}else{

Label wlabel1 = new Label(j, i, (String) jobdata[j]);

sheet.addCell(wlabel1);

}

}

}

book.write();

book.close();

} catch (Exception e) {

e.printStackTrace();

} return null;

}

}

用jxl导出excel数据。这样形式的表格的怎么怎么解决?

mergeCells(a,b,c,d) 单元格合并函数

a 单元格的列号

b 单元格的行号

c 从单元格[a,b]起,向下合并的列数

d 从单元格[a,b]起,向右合并的行数

因此你的情况应该是 mergeCells(0, a, 1, 0); 自己实验下。我这不好试。更多

但是我这个车牌号这列是查出来自动生成 数据有上千万条,我想让他自动生成后每列都是现在这样式。。又怎么搞呢

比如第一个车牌号占据1 2行 第二个占据3 4行 第三个占据5 6行。。怎么搞

“这个车牌号这列是查出来自动生成” 这句话何解??生成的代码不是你自己写的么?如果这样。。那你还是去找开发人员吧。。。

我的意思是 新J21484 这列 车牌号有很多。数据有上千万条,然后用jxl导出excel的话 表格中的这列要这么干。。第一个车牌号占据1 2行 第二个占据3 4行 第三个占据5 6行。。怎么搞。。jxl中有没有什么方法可以循环的,

循环不是JAVA自带的么。。。

普通循环就可以啊。

WritableWorkbook workbook = Workbook.createWorkbook(response.getOutputStream());// 创建工作薄

WritableSheet worksheet = workbook.createSheet(“测试”, 0); //建立页

for(int i=0; i < list.size();i++){

//定义中转变量

long row = 2i;

long row1 = 2i+1;

worksheet.mergeCells(0, row, 1, 2); //从2i行开始合并 1列2 行。

worksheet.addCell(new Label(0, row, 车牌号));

worksheet.addCell(new Label(1, row1, "010255ssssssssssssss"));//车牌小计下方的一行。

}

大概是这样。。。具体你要调整下。

使用jxl导出excel时怎么创建多个sheet

导出EXCEL直接调用后台的JAVA代码,是根据后台系统代码中的设定,利用导出工具,可以通过写代码创建多个Sheet页,EXCEL中的数据是在后台取的,不是从前台获取的,只需要把数据查询的条件属性转发到后台,然后后台根据这些条件查询、处理数据。

JXL导出excel问题

public String excle(String ttype,List list,String url,String filename) {

String ttypename = ttype+".xls";

// String exclepath = "D:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\cga\\upload\\"+ttypename;

String exclepath = url+ttypename;

try

{

// 打开文件

WritableWorkbook book=Workbook.createWorkbook(new File(exclepath));

// 生成名为“第一页”的工作表,参数0表示这是第一页

WritableSheet sheet=book.createSheet(ttype,0);

// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)

// 以及单元格内容为test

for(int i=0;i<list.size();i++){

String[] cell = (String[])list.get(i);

for(int j=0;j<cell.length;j++){

if(j==0||i==0){

Label label=new Label(j,i,cell[j]);

// 将定义好的单元格添加到工作表中

sheet.addCell(label);

}else{

//生成一个保存数字的单元格

//必须使用Number的完整包路径,否则有语法歧义

jxl.write.Number number = new jxl.write.Number(j,i,Double.parseDouble(cell[j]));

sheet.addCell(number);

}

}

}

/*生成一个保存数字的单元格

必须使用Number的完整包路径,否则有语法歧义*/

// 写入数据并关闭文件

book.write();

book.close();

}catch(Exception e)

{

System.out.println(e);

}

return filename;

}

这是我写的一个service,可以实现,你可以参考下

转载请注明出处51数据库 » jxl可以导出word吗 jxl怎么导出excel2007

软件
前端设计
程序设计
Java相关