`
uule
  • 浏览: 6348556 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

导出Excel文件

 
阅读更多

 

 

导出Excel(导出Excel的最长时间跨度不可超过两个月):

<a href="javascript:void(0);" onclick="exportOrder()" style="color:#000;"><center>导出Excel</center></a>

 

JS:

function exportOrder(){
		var strOrderCode = $("#strOrderCode").val();
		var strCustomerCode = $("#strCustomerCode").val();
		var strPhone = $("#strPhone").val();
		var strLinkMan = $("#strLinkMan").val();
		var dtOrderTime = $("#dtOrderTime").val();
					
		var dtBeginTime = $("#dtBeginTime").val();
		var dtEndTime = $("#dtEndTime").val();

		if(dtBeginTime != "" && dtBeginTime != undefined && dtEndTime !="" && dtEndTime != undefined){
			var d = new Date(dtBeginTime.replace(/-/g,"/"));  
			var d1 = new Date(dtEndTime.replace(/-/g,"/"));  
			if(!checkDate(d,d1)){
				return;
			}
		}else if(dtBeginTime != "" && dtBeginTime != undefined && (dtEndTime =="" || dtEndTime == undefined)  ){
			var d = new Date(dtBeginTime.replace(/-/g,"/"));  
			var d1 = new Date();  
			if(!checkDate(d,d1)){
				return;
			}

		}else if(dtEndTime != "" && dtEndTime != undefined && (dtBeginTime =="" || dtBeginTime == undefined)  ){
			var d1 = new Date(dtEndTime.replace(/-/g,"/"));  
			var d = new Date(d1.getTime() - 1000*60*60*24*62);  

			var y = d.getFullYear().toString();
			var m = (d.getMonth()+1) < 10 ? "0" +(d.getMonth()+1) : (d.getMonth()+1).toString();
			var d = d.getDate() < 10 ? "0"+d1.getDate() : d.getDate().toString(); 
				
			dtBeginTime = y +"-"+ m+"-" + d;
			$("#dtBeginTime").val(dtBeginTime);
			
			if(!checkDate(d,d1)){
				return;
			}
		}
		
		
		var url = '/purchase/exportExcel.do?strOrderCode='+strOrderCode;
		url += '&strCustomerCode='+strCustomerCode;
		url += '&strPhone='+strPhone;
		url += '&strLinkMan='+strLinkMan;
		
		if(dtOrderTime != "" && dtOrderTime != undefined){
			url += '&dtOrderTime='+dtOrderTime;
		}
		if(dtBeginTime != "" && dtBeginTime != undefined){
			url += '&dtBeginTime='+dtBeginTime;
		}
		if(dtEndTime != "" && dtEndTime != undefined){
			url += '&dtEndTime='+dtEndTime;
		}
		url += '&idd='+Math.random();

		redirect(url);
	}
	
//大于2个月
function checkDate(d,d1){
	if(d1.getTime()-d.getTime() > 1000*60*60*24*62){
		alert("对不起,导出Excel的最长时间跨度不可超过两个月");
	return false;
	}

	return true;
}	
	

 

后台:

public void exportExcel(){
		String strFilePathName = "importPurchaseOrderList"+System.currentTimeMillis()+".xls";
		
		HttpServletRequest request=ServletActionContext.getRequest();
	    HttpServletResponse response=ServletActionContext.getResponse();
	    
		response.setHeader("Content-disposition", "attachment; filename=" + strFilePathName);
		response.setContentType("application/vnd.ms-excel");
		
		cdoRequest.setStringValue(ITransService.TRANSNAME_KEY,"getExportPurchaseList");
		cdoRequest.setStringValue(ITransService.SERVICENAME_KEY,"purchaseService");
		
		if(StringUtil.isNotEmpty(strOrderCode)){
			cdoRequest.setStringValue("strOrderCode", likeWrap(strOrderCode));
		}
		
		if(StringUtil.isNotEmpty(strPhone)){
			cdoRequest.setStringValue("strPhone", likeWrap(strPhone));
		}
		...
		
		Return ret = getServiceBus().handleTrans(cdoRequest, cdoResponse);
      	if(ret.getCode() == 0){
      		codsPurchaseOrder = cdoResponse.getCDOArrayValue("codsPurchaseOrder");
      		      		
      		try
            {
      			//表头格式
      			WritableFont wf_title = new WritableFont(WritableFont.ARIAL, 12,WritableFont.BOLD, false, UnderlineStyle.DOUBLE, jxl.format.Colour.BLACK); 
                WritableCellFormat wcf_title = new WritableCellFormat(wf_title); // 单元格定义
                wcf_title.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式 
                // 设置边框线为实线
                wcf_title.setBorder(jxl.format.Border.LEFT, BorderLineStyle.THIN);
                wcf_title.setBorder(jxl.format.Border.RIGHT, BorderLineStyle.THIN);
                wcf_title.setBorder(jxl.format.Border.TOP, BorderLineStyle.THIN);
                wcf_title.setBorder(jxl.format.Border.BOTTOM, BorderLineStyle.THIN);
                
                //内容左对齐格式
                WritableFont wf_left = new WritableFont(WritableFont.ARIAL, 12,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK); 
                WritableCellFormat wcf_left = new WritableCellFormat(wf_left); // 单元格定义
                wcf_left.setAlignment(jxl.format.Alignment.LEFT); // 设置对齐方式 
                wcf_left.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);// 设置对齐方式(垂直居中)
                // 设置边框线为实线
                wcf_left.setBorder(jxl.format.Border.LEFT, BorderLineStyle.THIN);
                wcf_left.setBorder(jxl.format.Border.RIGHT, BorderLineStyle.THIN);
                wcf_left.setBorder(jxl.format.Border.TOP, BorderLineStyle.THIN);
                wcf_left.setBorder(jxl.format.Border.BOTTOM, BorderLineStyle.THIN);
                
                //内容右对齐格式
                WritableFont wf_right = new WritableFont(WritableFont.ARIAL, 12,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK); 
                WritableCellFormat wcf_right = new WritableCellFormat(wf_right); // 单元格定义
                wcf_right.setAlignment(jxl.format.Alignment.RIGHT); // 设置对齐方式(水平居右)
                wcf_right.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);// 设置对齐方式(垂直居中)
                // 设置边框线为实线
                wcf_right.setBorder(jxl.format.Border.LEFT, BorderLineStyle.THIN);
                wcf_right.setBorder(jxl.format.Border.RIGHT, BorderLineStyle.THIN);
                wcf_right.setBorder(jxl.format.Border.TOP, BorderLineStyle.THIN);
                wcf_right.setBorder(jxl.format.Border.BOTTOM, BorderLineStyle.THIN);
              
                //内容居中对齐格式
                WritableFont wf_center = new WritableFont(WritableFont.ARIAL, 12,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK); 
                WritableCellFormat wcf_center = new WritableCellFormat(wf_center); // 单元格定义
                wcf_center.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式 
                wcf_center.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);// 设置垂直对齐方式 
                wcf_center.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);// 设置对齐方式(垂直居中)
                // 设置边框线为实线
                wcf_center.setBorder(jxl.format.Border.LEFT, BorderLineStyle.THIN);
                wcf_center.setBorder(jxl.format.Border.RIGHT, BorderLineStyle.THIN);
                wcf_center.setBorder(jxl.format.Border.TOP, BorderLineStyle.THIN);
                wcf_center.setBorder(jxl.format.Border.BOTTOM, BorderLineStyle.THIN);
                
                // 打开文件
				//jxl.write.WritableFont
                WritableWorkbook book= Workbook.createWorkbook(ServletActionContext.getResponse().getOutputStream());
//              WritableWorkbook book= Workbook.createWorkbook(new File(strFileName));

            	WritableSheet sheet = null;
                // 生成名为“第一页”的工作表,参数0表示这是第一页
            	sheet = book.createSheet("采购单", 0);

                Label labelTitle1 = new Label(0, 0, "单据编号" ,wcf_title);
                Label labelTitle2 = new Label(1, 0, "订单金额" ,wcf_title);
                Label labelTitle3 = new Label(2, 0, "供应商编号",wcf_title);
                Label labelTitle4 = new Label(3, 0, "供应商",wcf_title);
				...

                // 将定义好的单元格添加到工作表中
                sheet.addCell(labelTitle1);
                sheet.setColumnView(0, 30);
                sheet.addCell(labelTitle2);
                sheet.setColumnView(1, 25);
                sheet.addCell(labelTitle3);
                sheet.setColumnView(2, 20);
                sheet.addCell(labelTitle4);
                sheet.setColumnView(3, 20);
				...
                
            	for(int i = 0 ; i < codsPurchaseOrder.length ; i++){
            		
					//jxl.write.Label.Label(int c, int r, String cont, CellFormat st)

					Label label1 = new Label(0, i+1, codsPurchaseOrder[i].getStringValue("strOrderCode"), wcf_center);
					sheet.addCell(label1);
					
					Label label2 = new Label(1, i+1, codsPurchaseOrder[i].getStringValue("nAmount"), wcf_center);
					sheet.addCell(label2);
					
					Label label3 = new Label(2, i+1, codsPurchaseOrder[i].getStringValue("strCustomerCode"), wcf_center);
					sheet.addCell(label3);
					
					Label label4 = new Label(3, i+1, codsPurchaseOrder[i].getStringValue("strCustomerName"), wcf_center);
					sheet.addCell(label4);
					...
				}
            	

                // 写入数据并关闭文件
                book.write();
                book.close();
            }
            catch (Exception e)
            {
                return;
            }
      	}
}

 。。

 

 

 

 

  • 大小: 55 KB
分享到:
评论

相关推荐

    POI导出Excel文件

    这个实例提供了两种方法来导出Excel文件:通过Servlet和通过main方法。这两种方法都是在Java环境中操作Excel数据的有效方式。 首先,让我们详细了解一下Apache POI库。POI提供了一个API,允许开发者在Java应用程序...

    Excel通用导出excel文件

    "Excel通用导出excel文件"这个主题涵盖了如何在不同情况下高效地实现这一目标,不论你是要处理小规模的数据还是大规模的数据集。下面,我们将深入探讨Excel的通用导出功能,以及如何利用它来优化你的工作流程。 ...

    C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法

    "C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法" 在导出Excel文件时,经常会遇到“文件格式与扩展名指定格式不一致”的问题,这是因为大多数人在导出Excel文件时,都是默认保存Excel的格式...

    C#导出excel文件

    本篇文章将深入探讨如何使用C#来创建和导出Excel文件。 首先,你需要一个库来处理Excel文件。Microsoft提供了`Microsoft.Office.Interop.Excel`命名空间,这是一个COM接口,可以直接与Excel应用程序交互。但是,...

    C# Winform实现导入和导出Excel文件

    本文实例为大家分享了Winform实现导入导出Excel文件的具体代码,供大家参考,具体内容如下 /// /// 导出Excel文件 /// /// /// &lt;param name=dataSet&gt;&lt;/param&gt; /// 数据集 /// 导出后是否打开文件 /// ...

    QT导出excel文件。

    QT导出EXCEL,从tableWidget列表获取数据导出到excel文件。导出过程使用了excel模板文件,可以从tableWidget读取固定的几列数据导出到excel文件中。其中excel事先设置好文件格式,后续直接读数写数即可。开发过程...

    java Swing 导入导出Excel文件

    自定义的一个excel文件导入导出类,支持Excel2003到2010的格式。里面也有简单的配置文件的创建。

    C#快速导出Excel文件(3秒可导10万行数据)

    C#快速导出Excel文件,3秒可导10万行数据

    MVC开发的导入导出Excel文件

    导出Excel文件涉及到从数据库或内存中的数据生成新的Excel文件。这个过程与导入类似,但方向相反。 1. **创建Excel工作簿**:使用EPPlus创建一个新的ExcelPackage对象,然后添加工作簿和工作表。 2. **填充数据**...

    JAVAeasyexcel 导出excel文件带多个图片

    easyexcel 导出excel文件带多个图片JAVA代码包

    Html导出Excel文件(兼容所有浏览器)

    "Html导出Excel文件(兼容所有浏览器)"的主题着重于实现这个功能,并确保在各种不同的浏览器环境下都能正常工作。这通常涉及到前端技术与后端技术的结合,以及对浏览器兼容性的深入理解。 首先,我们要明白HTML表格...

    SSM框架利用poi导入导出Excel文件 demo

    在本示例"SSM框架利用poi导入导出Excel文件 demo"中,我们将探讨如何在SSM项目中使用Apache POI库来实现Excel文件的导入与导出功能。 Apache POI是一个流行的开源库,它允许开发者在Java应用程序中创建、修改和显示...

    Visual C++源代码 194 如何使用剪贴板导出Excel文件

    Visual C++源代码 194 如何使用剪贴板导出Excel文件Visual C++源代码 194 如何使用剪贴板导出Excel文件Visual C++源代码 194 如何使用剪贴板导出Excel文件Visual C++源代码 194 如何使用剪贴板导出Excel文件Visual ...

    Visual C++源代码 150 如何以数据源方式导出Excel文件

    Visual C++源代码 150 如何以数据源方式导出Excel文件Visual C++源代码 150 如何以数据源方式导出Excel文件Visual C++源代码 150 如何以数据源方式导出Excel文件Visual C++源代码 150 如何以数据源方式导出Excel文件...

    Visual C++源代码 195 如何使用自动化导出Excel文件

    Visual C++源代码 195 如何使用自动化导出Excel文件Visual C++源代码 195 如何使用自动化导出Excel文件Visual C++源代码 195 如何使用自动化导出Excel文件Visual C++源代码 195 如何使用自动化导出Excel文件Visual ...

    MVC导入与导出excel文件

    在MVC架构下,处理导入和导出Excel文件是常见的需求,尤其在数据管理、报表生成以及数据交换场景中。下面我们将详细探讨如何在MVC应用中实现这个功能。 首先,导入Excel文件涉及到读取Excel数据并将其转化为可操作...

    Asp.net 导出Excel文件总结(导出csv、Office COM组建、Jet OLEDB、NPOI)

    在Asp.net开发中,有时候我们需要将数据导出到Excel文件以便用户下载或者进行进一步的数据处理。... 1. **导出CSV文件** ...通过实践,开发者可以更好地掌握在Asp.net中导出Excel文件的技巧,提高项目开发效率。

    poi多线程大数据导出excel文件.zip

    本项目“poi多线程大数据导出excel文件”提供了一个解决方案,利用多线程来提高Excel的大数据导出效率。 Apache POI 3.1版本是较早的版本,而项目中使用了更新的4.1版本,这意味着它可能利用了更多优化和新特性。在...

    java实现导出Excel文件和XML文件.docx

    Java实现导出Excel文件和XML文件 Java实现导出Excel文件和XML文件是Java语言中的一种常见需求,本文将详细介绍如何使用Java实现导出Excel文件和XML文件的功能。 一、功能简述 点击“导出”按钮,弹出文件选择...

Global site tag (gtag.js) - Google Analytics