highcharts-图表导出到word 代码.doc_第1页
highcharts-图表导出到word 代码.doc_第2页
highcharts-图表导出到word 代码.doc_第3页
highcharts-图表导出到word 代码.doc_第4页
highcharts-图表导出到word 代码.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

highcharts-图表导出到word 代码1、需要的maven包大概是这些,但是我也不太确切,这个应该是最大量com.lowagieitext-rtf2.1.7com.lowagieitext2.1.7batikbatik-transcoder1.6-1fop fopxml-apisxml-apis-ext1.3.04xercesxercesImpl2.10.0 -2、Extjs部分sendRecord数组的部分 内容大概是companyId:1035,companyName:上清寺局,svg :这里是highchart的svg字符串,.,.;highchart的svg字符串可以通过生成highcharts实例获得:var chart = new Highcharts.Chart(); var svg=chart.getSVG();var form = document.getElementById(exportForm);Ext.get(autoReportDtos).set(value : autoReportDtos: + Ext.encode(sendRecord) + );form.action = ././AutoReportServlet;form.target = #;form.submit();说明:value : autoReportDtos: + Ext.encode(sendRecord) + 因为要传递中文所以要Ext.encode();js的encode()效果也应该是一样的value值的格式,是因为组织内部使用的json解析工具需要这样的字符串格式autoReportDtos:.,.,.List autoReportDtos = JsonParseUtil.jsonStrToList(autoReportDtos, autoReportDtosStr, AutoReportDto.class);会解析为List-3、servlet部分package com.cqcis.mms.app.servlet.sys;import java.awt.Color;import java.io.StringReader;import .URLEncoder;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.batik.transcoder.Transcoder;import org.apache.batik.transcoder.TranscoderInput;import org.apache.batik.transcoder.TranscoderOutput;import org.apache.batik.transcoder.image.JPEGTranscoder;import org.springframework.context.ApplicationContext;import org.springframework.web.context.support.WebApplicationContextUtils;import com.cqcis.mms.app.utils.JsonParseUtil;import com.cqcis.mms.base.dto.sys.AutoReportDto;import com.cqcis.mms.base.dto.sys.InstallMoveFixReportDto;import com.cqcis.mms.base.dto.sys.InstallMoveOrderReportDto;import com.cqcis.mms.base.dto.sys.MonthCompletedConditionDto;import com.cqcis.mms.base.dto.sys.TimeoutWarningOrderDto;import com.cqcis.mms.base.export.service.sys.ReportService;import com.lowagie.text.Cell;import com.lowagie.text.Document;import com.lowagie.text.Element;import com.lowagie.text.Font;import com.lowagie.text.Image;import com.lowagie.text.PageSize;import com.lowagie.text.Paragraph;import com.lowagie.text.Rectangle;import com.lowagie.text.Table;import com.lowagie.text.rtf.RtfWriter2;import com.lowagie.text.rtf.style.RtfFont;import com.sun.xml.messaging.saaj.util.ByteOutputStream;public class AutoReportServlet extends HttpServlet private static final long serialVersionUID = 734049956945955588L;protected void doGet(HttpServletRequest request, HttpServletResponse response) doPost(request, response);protected void doPost(HttpServletRequest request, HttpServletResponse response) / response.setCharacterEncoding(UTF-8);/ request.setCharacterEncoding(UTF-8);try response.setContentType(text/html;charset=UTF-8);String autoReportDtosStr = request.getParameter(autoReportDtos);autoReportDtosStr = new String(autoReportDtosStr.getBytes(iso-8859-1), utf-8);List autoReportDtos = JsonParseUtil.jsonStrToList(autoReportDtos, autoReportDtosStr, AutoReportDto.class);ByteOutputStream bos = new ByteOutputStream();ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext();ReportService reportService = (ReportService) applicationContext.getBean(reportService);List installMoveFixReportDtos;List installMoveOrderReportDtos;List monthCompletedConditionDtos;List timeoutWarningOrderDtos;Map filter = new HashMap();SimpleDateFormat sdf = new SimpleDateFormat(yyyyMMddHHmmss);/* 创建Document对象(word文档) author:yyli Sep 15, 2010 */Rectangle rectPageSize = new Rectangle(PageSize.A4);rectPageSize = rectPageSize.rotate();/ 创建word文档,并设置纸张的大小Document doc = new Document(PageSize.A4);String fileName = autoReportDtos.get(0).getCompanyName()+分析报告 + sdf.format(new Date()+ .doc;/* 建立一个书写器与document对象关联,通过书写器可以将文档写入到输出流中 author:yyli Sep 15, 2010 */response.addHeader(Content-Disposition, attachment; filename= + URLEncoder.encode(fileName, UTF-8);response.addHeader(Content-Type, application/rtf);ServletOutputStream out = response.getOutputStream();/FileOutputStream out = new FileOutputStream(new File(E:/1.doc);RtfWriter2.getInstance(doc, out); doc.open();/* 第一行(标题) author:yyli Sep 15, 2010 */* 标题字体 author:yyli Sep 15, 2010 */RtfFont titleFont = new RtfFont(仿宋_GB2312, 18, Font.BOLD, Color.BLACK);/* 正文字体 author:yyli Sep 15, 2010 */RtfFont contextFont = new RtfFont(仿宋_GB2312, 12, Font.NORMAL, Color.BLACK);String titleString = autoReportDtos.get(0).getCompanyName() + 分公司专项情况分析;Paragraph title = new Paragraph(titleString);/ 设置标题格式对其方式title.setAlignment(Element.ALIGN_CENTER);title.setFont(titleFont);doc.add(title);TranscoderInput input;TranscoderOutput toutput;Transcoder t = new JPEGTranscoder();for (AutoReportDto dto : autoReportDtos) int type = dto.getType();byte bytesImage;Table table;switch (type) case 1:filter.put(companyId, dto.getCompanyId().toString();filter.put(sDate, dto.getsDate();filter.put(eDate, dto.geteDate();filter.put(level, 2);installMoveFixReportDtos = reportService.findInstallMoveFixReport(filter);/* 表格设置 author:yyli Sep 15, 2010 */table = new Table(4, installMoveFixReportDtos.size() + 1);/* 设置每列所占比例 author:yyli Sep 15, 2010 */table.setWidths(new int 55, 15, 15, 15 );/* 表格所占页面宽度 author:yyli Sep 15, 2010 */table.setWidth(100);/* 居中显示 author:yyli Sep 15, 2010 */table.setAlignment(Element.ALIGN_CENTER);/* 自动填满 author:yyli Sep 15, 2010 */table.setAutoFillEmptyCells(true);table.setBorderWidth(5); / 边框宽度table.setBorderColor(new Color(0, 125, 255); / 边框颜色table.setPadding(12);/ 衬距,看效果就知道什么意思了table.setSpacing(0);/ 即单元格之间的间距table.setBorder(5);/ 边框/ /* 第二行(正文) author:yyli Sep 15, 2010 */ String contextString = 登记人: + admin + 登记时间: + new Date().toLocaleString();/ Paragraph context = new Paragraph(contextString);/ / 正文格式对齐方式/ context.setAlignment(Element.ALIGN_RIGHT);/ context.setFont(contextFont);/ / 与上一段落(标题)的行距/ context.setSpacingBefore(10);/ / 设置第一行空的列数(缩进)/ / context.setFirstLineIndent(20);/ doc.add(context);String contextString = dto.getReportTitle() + dto.getReportName();Paragraph context = new Paragraph(contextString);/ 正文格式对齐方式context.setAlignment(Element.ALIGN_CENTER);context.setFont(contextFont);/ 与上一段落(标题)的行距context.setSpacingBefore(10);/ 设置第一行空的列数(缩进)/ context.setFirstLineIndent(20);doc.add(context);Cell cell = null;cell = new Cell(营维部);cell.setHeader(true);cell.setVerticalAlignment(Element.ALIGN_CENTER);cell.setHorizontalAlignment(Element.ALIGN_LEFT);table.addCell(cell);cell = new Cell(装移机投诉率);cell.setHeader(true);cell.setVerticalAlignment(Element.ALIGN_CENTER);cell.setHorizontalAlignment(Element.ALIGN_LEFT);table.addCell(cell);cell = new Cell(催装率);cell.setHeader(true);cell.setVerticalAlignment(Element.ALIGN_CENTER);cell.setHorizontalAlignment(Element.ALIGN_LEFT);table.addCell(cell);cell = new Cell(装机一次性通过率);cell.setHeader(true);cell.setVerticalAlignment(Element.ALIGN_CENTER);cell.setHorizontalAlignment(Element.ALIGN_LEFT);table.addCell(cell);for (InstallMoveFixReportDto imfDto : installMoveFixReportDtos) cell = new Cell(imfDto.getUnitname();cell.setVerticalAlignment(Element.ALIGN_CENTER);cell.setHorizontalAlignment(Element.ALIGN_LEFT);table.addCell(cell);cell = new Cell(imfDto.getInstallMoveComplaintRatio();cell.setVerticalAlignment(Element.ALIGN_CENTER);cell.setHorizontalAlignment(Element.ALIGN_LEFT);table.addCell(cell);cell = new Cell(imfDto.getHastenInstallRatio();cell.setVerticalAlignment(Element.ALIGN_CENTER);cell.setHorizontalAlignment(Element.ALIGN_LEFT);table.addCell(cell);cell = new Cell(imfDto.getInstallOnePassRatio();cell.setVerticalAlignment(Element.ALIGN_CENTER);cell.setHorizontalAlignment(Element.ALIGN_LEFT);table.addCell(cell);doc.add(table);context = new Paragraph();/ 正文格式对齐方式context.setAlignment(Element.ALIGN_LEFT)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论