从前台获取数据,并导出PDF文件
从前台获取数据,并导出PDF文件
Jsp页面:
<div style="width:30%;height:100%;float:left;" id="gzbddiv">
请选择变动原因: <input id="bdyy" name="bdyy" type="text" class="easyui-combobox combo"/>
<a href="javascript:;" id="save" class="easyui-linkbutton" data-options="iconCls:'icon-save',size:'normal'" plain="true"><span class="button-text">保存</span></a>
</div>
<div id="dcpdf" style="float:left;">
<a href="javascript:;" id="exportPdfBd" class="easyui-linkbutton" data-options="iconCls:'icon-export-excel',size:'normal'" plain="true"><span class="button-text">pdf数据导出</span></a>
</div>
js代码
//工资变动 导出pdf
$("#exportPdfBd").click(function(){
if(num == 3){
//房帖变动导出pdf
var rows = $("#bd").datagrid('getData').rows;
for(var i = 0;i < rows.length;i++){
var row = $("#bd").datagrid('getData').rows[i];
fttzlist.push({"COLLEGE_ID":row.COLLEGE_ID,"STAFF_ID":row.STAFF_ID,
"NAME":row.NAME,"XNFTSJ":row.XNFTSJ,"JFT":row.JFT,"XFT":row.XFT,
"BFFT":row.BFFT,"BFYS":row.BFYS,"BZ":row.BZ});
}
var fttzstr = JSON.stringify(fttzlist);
$.ajax({
"url":"<%=basePath%>/ftbdPdf.action",
"type":"post",
datatype:"json",
data:{
'fttzstr':fttzstr
},
success:function(filedownloadpath){
StandardPost('<%=basePath%>/fileDownload',{'path':filedownloadpath});
top.$.messager.alert("系统提示","导出成功!","info");
fttzlist.length= 0;
}
});
}
});
Struts.Xml
<!-- 房帖变动信息 导出pdf -->
<action name="ftbdPdf" class="salaryManagementAction" method="ftbdPdf">
<result type="json">
<param name="root">filedownloadpath</param>
</result>
</action>
Action代码
private String fttzstr;//get-set方法
* 房帖调整 生成PDF
*/
public String ftbdPdf(){
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String nowtime = sdf.format(now);
List<GZ_FTTZ_2017> fttzlist = new ArrayList<GZ_FTTZ_2017>();//房帖变动信息
try {
fttzlist = JSONArray.parseArray(fttzstr,GZ_FTTZ_2017.class);
//fttzlist = salaryManagementService.searchFTTZ();//查找房帖变动信息
Object[][] data2 = new Object[fttzlist.size()][];
for (int i = 0; i < fttzlist.size(); i++) {
Object[] obj2 = new Object[8];//给pdf的
obj2[0] = fttzlist.get(i).getSTAFF_ID();
obj2[1] = fttzlist.get(i).getNAME();
obj2[2] = fttzlist.get(i).getCOLLEGE_ID();
obj2[3] = fttzlist.get(i).getXNFTSJ();
obj2[4] = fttzlist.get(i).getJFT();
obj2[5] = fttzlist.get(i).getXFT();
obj2[6] = fttzlist.get(i).getBFFT();
obj2[7] = fttzlist.get(i).getBZ();
data2[i] = obj2;
}
String path = "D:/房帖变动/房帖变动生成PDF/";
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
String filename = "高贴"+nowtime+".pdf";
path = path+filename;
fttzPdfFile(data2,path);
filedownloadpath = path;
return "success";
} catch (Exception e) {
e.printStackTrace();
return "error";
}
}
* 房帖调整 ,生成pdf文件
*/
public static void fttzPdfFile(Object[][] data,String path){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
Date date = new Date();
String nowtime = sdf.format(date);
String year = nowtime.substring(0,4);
String month = nowtime.substring(4,6);
try {
//创建文件
Document document=new Document(new RectangleReadOnly(842F,595F));
//建立一个书写器
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(path));
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
Font fontChinese = new Font(bfChinese,10, Font.NORMAL);
//打开文件
document.open();
//添加内容
Paragraph par = new Paragraph("住房补贴调整通知单--"+year+"年"+month+"月",fontChinese);
par.setAlignment(Element.ALIGN_CENTER);
document.add(par);
// 8列的表.
PdfPTable table = new PdfPTable(10);
float[] columnWidths = { 1f, 1f, 1f , 1f, 1f , 1f , 1f , 1f ,1f ,1f};
table.setWidths(columnWidths);
//table.setTotalWidth(500f);//设置表格的总宽度
table.setWidthPercentage(105); // 宽度100%填充
table.setSpacingBefore(1f); // 前间距
table.setSpacingAfter(1f); // 后间距
List<PdfPRow> listRow = table.getRows();
//行1
PdfPCell cells1[]= new PdfPCell[10];
PdfPRow row1 = new PdfPRow(cells1);
//单元格
cells1[0] = new PdfPCell(new Paragraph("人员编号",fontChinese));//单元格内容
/*cells1[0].setPaddingLeft(20);//左填充20
cells1[0].setHorizontalAlignment(Element.ALIGN_CENTER);//水平居中
cells1[0].setVerticalAlignment(Element.ALIGN_MIDDLE);//垂直居中
*/
cells1[1] = new PdfPCell(new Paragraph("姓名",fontChinese));
cells1[2] = new PdfPCell(new Paragraph("单位",fontChinese));
cells1[3] = new PdfPCell(new Paragraph("校内房帖时间",fontChinese));
cells1[4] = new PdfPCell(new Paragraph("原房帖",fontChinese));
cells1[5] = new PdfPCell(new Paragraph("现房贴",fontChinese));
cells1[6] = new PdfPCell(new Paragraph("补发",fontChinese));
cells1[7] = new PdfPCell(new Paragraph("备注",fontChinese));
cells1[8] = new PdfPCell(new Paragraph("",fontChinese));
cells1[9] = new PdfPCell(new Paragraph("",fontChinese));
cells1[7].setColspan(3); //合并列
for (int j = 0; j < 10; j++) {
cells1[j].setMinimumHeight(20);//设置表格行高
cells1[j].setHorizontalAlignment(Element.ALIGN_CENTER);//水平居中
cells1[j].setVerticalAlignment(Element.ALIGN_MIDDLE);//垂直居中
}
//把第一行添加到集合
listRow.add(row1);
for(int i =0;i<data.length;i++){
PdfPCell cells[]= new PdfPCell[10];
PdfPRow row = new PdfPRow(cells);
for(int j = 0;j<8;j++){
cells[j] = new PdfPCell(new Paragraph(String.valueOf(data[i][j]),fontChinese));//单元格内容
cells[j].setMinimumHeight(20);//设置表格行高
cells[j].setHorizontalAlignment(Element.ALIGN_CENTER);//水平居中
cells[j].setVerticalAlignment(Element.ALIGN_MIDDLE);//垂直居中
if (j==7) {
cells[7].setColspan(3); //合并列
}
}
listRow.add(row);
}
//把表格添加到文件中
document.add(table);
//关闭文档
document.close();
//关闭书写器
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
从前台获取数据,并导出PDF文件相关推荐
- 利用easypoi execl数据模板导出pdf文件
1:首先整理出excel模板文件,格式如下 2:pom.xml文件中导入 <!--使用最新的版本即可 --><dependency><groupId>cn.afte ...
- Excel VBA自动化办公:选择Excel文件合并订单数据生成订单汇总表、生成发货单并导出pdf文件、自动统计业绩生成业绩表
基本需求: 让用户可以选择多个文件,根据用户选中的工作簿进行合并订单数据,按照预先设计好的订单模板写入数据. 对于同一个交易序号下面有多个订单的,需要计算该交易序号下所有订单的总金额.总票数.相同交易 ...
- 我精心整理的 136 页 Excel 数据透视表 PDF 文件!【附获取方式】
大家好,我是 JackTian. 我的一位好朋友,也是我的一位忠实读者了,从我2018年刚开始做公众号那时,就一直关注到我到现在.累积赠送他书籍共有小 10 余本,我的这位好朋友呢,也非常的良心. 他 ...
- asp.net2.0导出pdf文件完美解决方案【月儿原创】
asp.net2.0导出pdf文件完美解决方案 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/ 时间:2007.5.28 PDF简介:PDF(P ...
- Java使用Freemarker通过模板文件导出PDF文件、横向显示
前言: 尝试了不少通过模板文件导出pdf文件的方法,要么实现起来复杂,要么实现效果不理想,经过反复查找资料和尝试发现此方法是最理想的. 本博客又经大量网友实践及建议,经过几次完善修改,又日趋完善,在此 ...
- Itext导出pdf文件
使用iText生成pdf文件并导出 前言: 项目中需要给用户提供一个可以导出pdf文件的功能,用来展示本月的数据.像excel.word这种直接就可以使用POI进行导出了,但是导出pdf格式的文件 我 ...
- java itext 导出pdf文件_【Java,PDF】使用Itext实现PDF文件生成
重要声明:本文章仅仅代表了作者个人对此观点的理解和表述.读者请查阅时持自己的意见进行讨论. 前言 有时候,业务系统要求提供一个PDF文件导出的功能,这时候我们就需要将数据库的对应数据查询出来,然后生成 ...
- c 将html导出pdf文件,将HTML页面转换为PDF文件并导出
目碎前整要们开自近事端个广的的带近事端个广前,在大多数的管理系统中,都会有这样一个功能:根据相关的条件查询相应的数据,并生成可视化报表,然后可导出为PDF文件.本文只展现生成可视化报表之后导出PDF文 ...
- java 使用itext导出PDF文件,中文不显示问题解决
之前写的java 使用itext 导出pdf 发现有个问题,在今天使用的时候,发现一个问题,就是当单元格中写中文的时候,导出来的pdf中文不显示. java 使用itext导出PDF文件,图片文字左右 ...
最新文章
- 如何将c语言改写成汇编语言,如何把汇编语言转换成C语言
- JAVA IDEA集成geotools gt-mif gdal读取.MIF
- threading多线程模块
- include element into ABAP word document
- MapReduce学习笔记(4)
- html5画安卓机器人,HTML5用户笔画形状检测机器人
- 学python能做什么-非计算机专业的人学python能做什么?
- pytorch之各类图像库的图片读写方式
- 破坏入侵计算机信息系统犯罪,刑事律师解读:新形势下的黑科技犯罪—破坏计算机信息系统罪...
- linux vnc服务器6,Linux(RHEL6\CENTOS6\OLE6) 下VNC-SERVER安装与配置
- Ember -Routes
- 如何选择合适的离心机,有哪些重要参数——TFN FUP LB6CM 落地式低速大容量冷冻离心机
- 使用FFMPEG将非YUV420p压缩成JPG
- 建筑智能化综合监控系统数据点解剖
- 鸿蒙无极造化玉牒,上古十大至强神器,东皇钟只能排第四,另外七件你知道是哪七件吗...
- 进化算法——反向学习
- 未来教育二级mysql怎么做题_计算机二级买了未来教育,但是不知道该怎么学习,就是单纯的刷题吗?感觉没有书有点不习惯,怎么办?...
- Java中使用JCOM操作Word/Excel对象
- RBP系统管理之地区管理
- 9、★♥★基于STM32单片机的颜色检测仪设计♥☆
热门文章
- php 如何将富文本内容输出到word里面且添加页眉和页脚
- 15.4 MPLS 控制层面 PE和CE设备间的路由更新
- 获取当前月份的最后一天
- jquery+css实现流星雨特效
- 如果万物数连,那么建筑应当如何与大数据结合?
- 苹果退款_苹果 App Store 里自动订阅续费的应用可以退款吗?
- emby,jellyfin,kodi系列
- mysql桌面型数据库下载_桌面数据库下载v2019.12.001 安装版-西西软件下载
- 组件‘mscomctl.ocx‘或它的一个依赖项没有正确注册:一个文件丢失或无效
- 小米 android 8.1手机,小米又一款手机获得安卓8.1系统更新!