永发信息网

java如何另存导出Excel

答案:4  悬赏:30  手机版
解决时间 2021-03-28 14:33
  • 提问者网友:你独家记忆
  • 2021-03-28 04:14
java如何另存导出Excel
最佳答案
  • 五星知识达人网友:毛毛
  • 2021-03-28 04:33
不同的编程语言实现导出数据到Excel的过程是不一样的,但基本思路都一样
主要是:
创建或调用Excel程序;
新建Excel表格;
对表格格式进行设置;

将数据按照行或列循环,并依次将全部列或行数据,添加到Excel中;
重命名Excel并保存;
关闭Excel程序。

全部回答
  • 1楼网友:醉吻情书
  • 2021-03-28 06:34
现在有好多生成报表的类包!你可以自己去网上下一个jar包,很好用的
  • 2楼网友:躲不过心动
  • 2021-03-28 06:14
如果是JSP页面要导出成excel,依靠javascript就可以实现了,具体你试试上面的代码

  • 3楼网友:忘川信使
  • 2021-03-28 04:51

1.
public void exportActoExcel(ActionMapping mapping, ActionForm form ,
HttpServletRequest request,HttpServletResponse response) throws IOException {
ActionErrors errors = new ActionErrors();
AcExcelBusi acBusi = new AcExcelBusi();
AccidentRecordForm arForm= (AccidentRecordForm) form;
AccidentRecordBusi arBusi = new AccidentRecordBusi();
// ////查询条件
FwUsers sessUser = (FwUsers)request.getSession().getAttribute(ConstValues.SESS_USER_MANAGE);
Map cisMap = arBusi.getTodoPageList(arForm,sessUser,errors);
List AcList = null;// 当页的记录
if (null != cisMap) {
AcList = (List) cisMap.get("list");
}


//导出excel的路径、文件名
String uuid = UUID.create("exp");
String path = request.getSession().getServletContext().getRealPath("/") + ConstValues.EXP_PATH_EXCEL + uuid + ".xls";
acBusi.exprotAcExcel(AcList, path,request);


response.sendRedirect("stdownload.jsp?path=" + path );


}

2.
public void exprotAcExcel(List list, String path,HttpServletRequest request) {


try {
WritableWorkbook workbook = Workbook.createWorkbook(new File(path));// 创建工作簿(filePos为excel文件的路径)
WritableSheet sheet = workbook.createSheet("出险信息", 0);// 创建工作页


// 内容(居中)单元格样式
WritableCellFormat contentStyle = new WritableCellFormat(); //
contentStyle.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式
contentStyle.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN); // 设置边框


// 一级标题单元格样式
WritableFont wf1 = new WritableFont(WritableFont.ARIAL, 15,
WritableFont.BOLD, false); // 定义格式 字体 下划线 斜体 粗体 颜色
WritableCellFormat titleStyle1 = new WritableCellFormat(wf1); //
titleStyle1.setBackground(jxl.format.Colour.GREEN); // 设置单元格的背景颜色
titleStyle1.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式
titleStyle1.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN); // 设置边框
// 二级标题单元格样式
WritableFont wf2 = new WritableFont(WritableFont.ARIAL, 11,
WritableFont.BOLD, false); // 定义格式 字体 下划线 斜体 粗体 颜色
WritableCellFormat titleStyle2 = new WritableCellFormat(wf2); //
titleStyle2.setBackground(jxl.format.Colour.GREY_25_PERCENT); // 设置单元格的背景颜色
titleStyle2.setAlignment(jxl.format.Alignment.CENTRE); // 设置水平对齐方式
titleStyle2
.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); // 设置垂直对齐方式
titleStyle2.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN); // 设置边框


WritableCellFormat titleStyle3 = new WritableCellFormat(wf1); //
titleStyle3.setBackground(jxl.format.Colour.BRIGHT_GREEN); // 设置单元格的背景颜色
titleStyle3.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式
titleStyle3.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN); // 设置边框


// 设置冻结单元格
sheet.getSettings().setVerticalFreeze(2);
sheet.getSettings().setHorizontalFreeze(5);


sheet.setColumnView(0, 8); // 设置列的宽度
sheet.setColumnView(1, 10); // 设置列的宽度


sheet.setRowView(0, 0);


sheet.addCell(new Label(0, 0, "hysj5800294*#", titleStyle1));// 标题
sheet.addCell(new Label(0, 1, "出险信息 ", titleStyle2));// 标题
sheet.mergeCells(0, 2, 33, 2); // 合并单元格
sheet.addCell(new Label(0, 2, "出险信息 ", titleStyle1));// 标题


sheet.addCell(new Label(0, 3, "序号", titleStyle2));// 往单元格中填写数据
sheet.addCell(new Label(1, 3, "省内/省外", titleStyle2));// 往单元格中填写数据


if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
sheet.setRowView(i + 3, 300); // 设置行高
//转换数据信息
//Object[] obj = (Object[]) list.get(i);
AccidentRecord ar = (AccidentRecord) list.get(i);


sheet.addCell(new Label(0, i + 4, String.valueOf(i + 1),contentStyle));// 往单元格中填写数据 序号
sheet.addCell(new Label(1, i + 4, ar.getLicenceProvince().toString(),contentStyle));//  省内/省外
}
 
}
workbook.write();// 书写到工作簿
workbook.close();// 关闭工作簿,输出完成
} catch (Exception e) {
e.printStackTrace();
}
}
}

3.功能可以实现,可以到处,点击下载确定。


4.打开已经下载的excel,如图显示结果。得到想要的结构。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯