`
gtgt1988
  • 浏览: 114268 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

学习excel和word格式导出功能

 
阅读更多

 

导出为word格式类似如下:
	// 创建word文档,并设置纸张的大小   
		Document document = new Document(PageSize.A4);   
		
		// 得到response请求的输出流
		OutputStream os = null;
		//创建一个Excel表
		WritableWorkbook wwb = null;
		OutputStreamWriter osw =null; 
		BufferedWriter bw = null;
		try {	
			os = response.getOutputStream();
			osw = new OutputStreamWriter(os);
		    bw = new BufferedWriter(osw);
		    RtfWriter2.getInstance(document, os);    
			   document.open();    
			   //设置合同头     
			   Paragraph ph = new Paragraph();    
			   Font f  = new Font();    
		       
			   Paragraph p = new Paragraph("aaaaaa",new Font(Font.NORMAL, 18, Font.BOLD, Color.black) );    
			   p.setAlignment(1);    
			   document.add(p);    
			   ph.setFont(f);    
			   document.add(new Paragraph("一、aaaaaa分析",new Font(Font.NORMAL, 16, Font.BOLD, new Color(0, 0, 0))));
			      
			    /*   
			     * 创建有7列的onu运行统计分析(FTTH)表格
			     */   
			   Table table = new Table(7);    
			   table.setBorderWidth(1);  
			   table.setBorderColor(Color.BLACK);    
			   table.setPadding(0);    
			   table.setSpacing(0);    
			   Cell cell = new Cell("aaaaaa(FTTH)");
			   cell.setHeader(true);    
			   cell.setColspan(7);//设置表格为三列     
			   cell.setRowspan(1);//设置表格为三行     
			   table.addCell(cell);    
			   table.endHeaders();// 表头结束  
			   
			   table.addCell("子公司");    
			   table.addCell("总数");    
			   table.addCell("离线数");    
			   table.addCell("断电数");    
			   table.addCell("脱网率");    
			   table.addCell("脱网累计总数");
			   table.addCell("脱网总时长");
			   List list = QueryServiceProvicer.getOpStateStatistic().getOnuOpStatisticAnalysis(1L, times, userId);
			   if(list!= null && list.size()>0){
				   for(int i=0;i<list.size();i++){
					   OnuOpStateStatisticDto dto = (OnuOpStateStatisticDto) list.get(i);
					   table.addCell(dto.getCityName());
					   table.addCell(dto.getOnuCount());
					   table.addCell(dto.getOffLineCount());
					   table.addCell(dto.getPowerOffCount());
					   table.addCell(dto.getOffPrecent());
					   table.addCell(dto.getOffCount());
					   table.addCell(dto.getOffTime());
				   }
			   }
			   document.add(table); 
 
public class BaseAction extends ActionSupport implements SessionAware {

	/**
	 * 
	 */
	private static final long serialVersionUID = 7284375843476500697L;

	private Map session;

	public void setSession(Map arg0) {
		this.session = arg0;
	}

	public void addInfoToSession(String sessKey, Object value) {
		this.session.put(sessKey, value);
	}

	public Object getSessionInfoByKey(String sessKey) {
		return this.session.get(sessKey);
	}
}









public class ExportAction extends BaseAction {
	private Log log = LogFactory.getLog(ExportAction.class);

	public String exportResult(List<Object> dataList, String columns,
			String fileName) throws Exception {
		SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddhhMMss");
		String date = sf.format(new Date());
		if (dataList != null) {
			// 告诉Struts 执行完 Action就行了,不用再去调用结果响应的操作
			ActionContext.getContext().getActionInvocation().getProxy()
					.setExecuteResult(false);
			HttpServletResponse response = ServletActionContext.getResponse();
			// 设置请求的编码方式以及文件的打开类型
			response.setContentType("application/vnd.ms-excel;charset=UTF-8");
			// 设置请求的头文件格式,指定打开的文件的名字,attachment指定浏览器弹出打开、保存对话框
			String fileName1 = fileName + "_" + date + ".xls";
			response.setHeader("Content-Disposition", "attachment; filename="
					+ new String(fileName1.getBytes("gb2312"), "ISO8859-1"));

			// 得到response请求的输出流
			OutputStream os = null;
			// 创建一个Excel表
			WritableWorkbook wwb = null;
			OutputStreamWriter osw = null;
			BufferedWriter bw = null;
			try {
				os = response.getOutputStream();
				osw = new OutputStreamWriter(os);
				bw = new BufferedWriter(osw);
				wwb = Workbook.createWorkbook(os);
				// 建立一个Excel工作簿
				jxl.write.WritableSheet ws1 = wwb.createSheet(fileName + "_"
						+ date, 1);

				// 指定表的列标题
字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和 
WritableCellFormat类来负责
				WritableFont font = new jxl.write.WritableFont(
						WritableFont.ARIAL);// 添加Formatting的对象
				WritableCellFormat format = new jxl.write.WritableCellFormat();
				font.setBoldStyle(WritableFont.BOLD);
				format.setFont(font);
				format.setAlignment(jxl.format.Alignment.CENTRE);
				format.setBackground(Colour.GRAY_25);

				WritableFont headerFont = new jxl.write.WritableFont(
						WritableFont.ARIAL);
				WritableCellFormat headerFormat = new jxl.write.WritableCellFormat();// 表头的格式化
				headerFont.setBoldStyle(WritableFont.BOLD);
				headerFormat.setFont(headerFont);
				headerFormat.setAlignment(jxl.format.Alignment.CENTRE);
// 合并第一列第一行到第九列第一行的所有单元格  
				ws1.mergeCells(0, 0, 8, 0);// 加入第一行
				ws1
						.addCell(new Label(0, 0, fileName + "_" + date,
								headerFormat));
				for (int a = 0; a < columns.split(",").length; a++) {
					ws1.setColumnView(a, 22); // 设置列宽,第m列
					ws1.addCell(new jxl.write.Label(a, 1,
							columns.split(",")[a], format));
				}
//从第三行开始写入内容
				int i = 2;
				jxl.write.WritableCellFormat format_3 = new jxl.write.WritableCellFormat();
				format_3.setAlignment(jxl.format.Alignment.CENTRE);
				for (Object obj : dataList) {
					Object[] object = (Object[]) obj;
					for (int m = 0; m < object.length; m++) {
						if (object[m] == null || object[m].equals("null")) {
							object[m] = "";
						}
						ws1.addCell(new jxl.write.Label(m, i, "" + object[m],
								format_3));
					}
					i++;
				}

				wwb.write();// 写入Exel工作表
				wwb.close();

				bw.flush();
			} catch (Exception e) {
				e.printStackTrace();
			}
			return SUCCESS;
		} else {
			return ERROR;
		}
	}

}
label(a,b,c,headerFormat) a是第一列,b是第一行,c是内容,headerFormat是格式
String columns = "工单号,区域名称,业务号码,业务类型,故障名称,接入方式,发起人,测试状态,测试结论,状态描述,测试开始时间,测试结束时间";
		String fileName = "测试记录";
分享到:
评论

相关推荐

    C#导出Excel和Word

    在IT领域,C#是一种广泛使用的编程语言,尤其在开发Windows桌面应用和Web应用时。在许多业务场景中,导出数据到...通过深入学习这些技术,你可以为用户提供高效、灵活的数据导出功能,提升应用程序的实用性和用户体验。

    使用VSTO插件将excel数据和图片导出word文档

    标题“使用VSTO插件将excel数据和图片导出word文档”涉及到的是在Microsoft Office环境中,使用Visual Studio Tools for Office (VSTO) 插件来实现数据和图像从Excel到Word的自动化迁移。VSTO是.NET Framework的一个...

    java导出文件到 pdf,excel,word

    在具体实现过程中,你还需要了解和学习这些库的API用法,参考官方文档或在线教程,以完成具体的导出功能。对于压缩包子文件“导出文件”,可能包含了示例代码或导出的样本文件,可以进一步研究和学习。

    java实现导出excel、word、 pdf

    在Java编程中,导出Excel、Word和PDF是常见的数据呈现和报告生成需求。这些文件格式广泛用于数据存储、报表生成、文档分享等场景。以下将详细介绍如何使用Java实现这三种文件类型的导出。 首先,让我们关注Excel的...

    帆软报表导出各种格式(excel/word/pdf等)

    总结来说,帆软报表的导出功能强大且多样,不仅支持Excel、Word、PDF等常见格式,还提供了数据源配置和自动化推送等辅助工具,为企业数据管理和决策支持提供了便捷的解决方案。通过熟练掌握这些知识,用户可以更加...

    excel,word导入导出

    本文将深入探讨Excel和Word之间的导入导出功能,以及如何实现这些操作。 Excel的数据导入导出: Excel能够从各种来源导入数据,例如CSV、TXT、XML、数据库等。导入数据通常是为了整合来自不同系统的信息或进行数据...

    datatable导出json、text、excel、word等格式

    通过查看和学习这个`demo`,你可以了解如何集成和配置`DataTable`,以及如何添加导出功能。 综上所述,`DataTable`的动态加载和多种格式导出是提高交互性和数据处理能力的重要手段。理解并掌握这些技术,对于提升...

    js导出Excel 、Word [超实用][自动保存样式]

    在IT行业中,JavaScript是一种广泛使用的...对于压缩包中的"js导出Excel、word.html"文件,很可能是包含示例代码的网页,你可以通过查看和运行这段代码,更好地理解和学习JavaScript导出表格内容到Excel和Word的方法。

    导出Excel、Word类库

    本篇文章将详细讲解C#、Java和PHP这三种编程语言如何实现Excel和Word的导出功能,同时关注样式设置和处理科学计数法显示的数据问题。 1. **C#导出Excel** 在C#中,可以使用NPOI库来处理Excel文件。NPOI提供了对...

    extjs的Word导出,excel读取和导出demo

    标题 "extjs的Word导出,excel读取和导出demo" 涉及到的是在Web应用程序中使用ExtJS框架进行数据导出至Word和Excel格式的技术实践。ExtJS是一个强大的JavaScript库,用于构建富客户端的Web应用,而Excel和Word导出则...

    asp.net导出万能Excel和word

    在ASP.NET中,导出数据到Excel和Word是常见的需求,尤其在数据分析、报表生成以及信息分享场景下。本文将详细讲解如何在ASP.NET环境中实现这个功能,包括使用不同的库和技术,以及处理各种数据类型和格式的问题。 ...

    Excel转word,每行导出一个word

    本工具的核心功能是实现从Excel到Word的自动化转换,特别是将Excel表格中的每一行数据单独导出为一个Word文档。这种功能在处理大量结构化数据时非常有用,例如批量生成个性化报告、证书或合同。 首先,我们要理解这...

    如何扩展GridView之自带Excel和Word导出

    本教程将详细介绍如何扩展GridView,使其具备自定义的Excel和Word导出功能。 首先,我们需要理解GridView的工作原理。GridView是ASP.NET中的一个服务器控件,它通过绑定数据源(如SQL数据库、XML文件或数组)来显示...

    Excel表格导出至Word工具2003

    这个工具可能是为了帮助用户更方便地整合和编辑数据,或者是为了格式化Excel中的大量数据以便在Word文档中进行更复杂的排版和编辑。 描述 "通用Excel表格导出至Word工具_2003" 表明这是一个广泛适用的解决方案,...

    .net导出word、excel和pdf

    通过创建Word模板,填充数据,然后保存为新的Word文件,可以实现导出功能。 接着,我们讨论Excel的导出。Excel是数据处理的常用工具,.NET MVC中常见的库有EPPlus和NPOI。EPPlus专门用于处理Excel(xlsx格式),它...

    EasyPoi Excel和 Word简易工具类

    easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法。...

    word 和excel导出

    总结,Word和Excel的导出功能是高效协作和数据交换的关键工具,它们提供了多种格式选项,满足了不同用户的需求。无论是简单的文档分享还是复杂的数据分析,前台导出都能提供直观、快速的解决方案。

    Java读取Word中的表格(Excel),并导出文件为Excel

    这通常涉及到使用Apache POI库,一个强大的API,用于读写Microsoft Office格式的文件,包括Word(.docx)和Excel(.xlsx)。本篇文章将深入探讨如何使用Apache POI来实现这个功能。 首先,我们要了解Apache POI的...

    如何将VB中的数据导出excel,word中去

    7. 数据导出到其他格式:除了将数据导出到Excel和Word中,我们还可以将数据导出到其他格式,例如CSV、TXT、PDF等等。在VB中,我们可以使用不同的对象和方法来实现数据导出到不同格式。 将VB中的数据导出到Excel和...

    SpringMVC+jspereport,实现报表分页查看、文件(pdf、excel、word)导出,以及html展示和调用浏览器打印功能实现打印

    文件导出功能则为用户提供了一种离线查看和存储报表的方式。通过JasperReport,我们可以将报表导出为PDF、Excel和Word格式。PDF适合阅读和打印,Excel适合数据分析,而Word则便于进一步编辑。在SpringMVC中,这些...

Global site tag (gtag.js) - Google Analytics