`
KG21
  • 浏览: 107997 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java生成excel文件 JXL

    博客分类:
  • java
阅读更多

要使用的jar包 jxl-2.5.7.jar

 

 

 

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.List;


import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.DateFormat;
import jxl.write.Label;
import jxl.write.NumberFormat;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class JXLUtil {

    private final static Logger log = Logger.getLogger(JXLUtil.class);
    
    public final static  String[] proptitles = new String[]{"酒店ID","中文名称","所属品牌","中文地址","英文名称 ","英文地址","星级","钻级","省份","城市","邮编","纬度","经度","电话","传真","开业时间","装修时间","房间总数","总楼层","电梯数","激活状态","网站","是否接受外宾","酒店简介","商圈"};
    
  
    
    private static String path = null;
    
    static {
        URL url = Thread.currentThread().getContextClassLoader().getResource(""); 
        path = url.getPath();
        int index = path.lastIndexOf("WEB-INF/classes/");
        if(index>0){
            path = path.substring(0, index);
        }
        File file = new File(path +"props");
        if(!file.exists()){
            file.mkdirs();
        }
        
    }

    /**
     * 酒店基础信息生成excel文件
     * @param filename 文件名
     * @param sheetName  工作表名称
     * @param titles 列名
     * @param cards 数据
     * @return 
     */
    public static String export2TaPropExcel(String filename,String sheetName,String[] titles,List<TaProp> props){
        WritableWorkbook workbook = null;
        filename = filename+".xls";
        String pathfilename =  path + filename;
        String  exportpath=FogTaskConfig.getProperty("FogTask.TaPropsRoomTask.path");
        if(StringUtils.isNotEmpty(exportpath)){
        	pathfilename=exportpath;
        }else{
        	pathfilename=path;
        }
        try{
            File tempFile= new File(pathfilename);
            workbook = Workbook.createWorkbook(tempFile);   
            WritableSheet sheet = workbook.createSheet(sheetName, 0);
              
            //
            Label lable=null;   
            jxl.write.Number number=null;   
            jxl.write.DateTime date=null;   
            
            //format
            WritableFont titleFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD,
                    false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.getInternalColour(9));
            WritableCellFormat titleFormat = new WritableCellFormat (titleFont);    
            titleFormat.setAlignment(jxl.format.Alignment.CENTRE);
            titleFormat.setBackground(jxl.format.Colour.getInternalColour(56));
            
            WritableFont detFont = new WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, 
                    false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);    
            WritableCellFormat contentFormat = new WritableCellFormat (detFont);    
            contentFormat.setAlignment(jxl.format.Alignment.CENTRE);
            
            DateFormat df=new DateFormat("yyyy-MM-dd");//用于日期的   
            WritableCellFormat dateFormat = new WritableCellFormat (detFont, df);    
            dateFormat.setAlignment(jxl.format.Alignment.CENTRE);
            
            NumberFormat nm = new NumberFormat("0");
            WritableCellFormat numberFormat = new WritableCellFormat (detFont, nm);    
            numberFormat.setAlignment(jxl.format.Alignment.CENTRE);
              
             //add Title   
             for (int i = 0; i < titles.length; i++) {
                 lable=new Label(i, 0, titles[i], titleFormat);   
                 sheet.addCell(lable);
                 sheet.setColumnView(i, 20);
             }
               
             //add detail
             for (int i = 0; i < props.size(); i++) {
                 int column=0;   
                 TaProp prop = props.get(i);
                 lable=new Label(column++, i+1, prop.getProp(), contentFormat);   
                 sheet.addCell(lable);  
                 lable=new Label(column++, i+1, prop.getProp_name_zh(), contentFormat);   
                 sheet.addCell(lable);  
                 lable = new Label(column++, i+1, prop.getOrgid(),contentFormat);
                 sheet.addCell(lable);  
                 lable = new Label(column++, i+1, prop.getAddress1_zh(),contentFormat);
                 sheet.addCell(lable);  
                 lable = new Label(column++, i+1, prop.getProp_name_en(),contentFormat);
                 sheet.addCell(lable); 
                 lable = new Label(column++, i+1, prop.getAddress1_en(),contentFormat);
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getStar_rating(), contentFormat);   
                 sheet.addCell(lable);  
                 lable=new Label(column++, i+1, prop.getDiamond_rating(), contentFormat);   
                 sheet.addCell(lable);  
                 lable=new Label(column++, i+1, prop.getLname(), contentFormat);   
                 sheet.addCell(lable);  
                 lable=new Label(column++, i+1, prop.getName_zh(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getZip(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getLatitude(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getLongitude(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getPhone(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getFax(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getOpening_date(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getRenovated_date(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getTotal_rooms(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getTotal_floors(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getTotal_elevators(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getStatus(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getWebsite(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getIs_welcome_foreign(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getSimple_desc_zh(), contentFormat);   
                 sheet.addCell(lable); 
                 lable=new Label(column++, i+1, prop.getTradearea_zh(), contentFormat);   
                 sheet.addCell(lable); 
            }
               
        }catch (Exception e) {
            filename = null;
            log.error("writeCard error :"+e);
        }finally{
            if(workbook!=null){
                try {
                    workbook.write();
                    workbook.close();
                }catch (WriteException e) {
                    
                }catch (IOException e) {
                    
                }  
            }
            return filename;
        }
    }
    
}
 

 

 

 

分享到:
评论

相关推荐

    Java操作Excel(jxl.jar)

    在Java编程中,处理Excel文件是一项常见的任务,特别是在数据导入导出、数据分析或者报表生成等场景。本篇文章将深入探讨如何使用jxl.jar库来实现Java操作Excel。 首先,jxl是一个广泛使用的Java库,它允许开发者...

    java利用jxl生成excel文件

    Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们读取、写入和修改Excel文件。以下将详细讲解如何使用JXL库来生成Excel文件。 首先,我们需要在...

    java 生成excel 实例 jxl

    java 生成excel 实例 好用、 肯定能用 非常简短

    java生成excel文件

    在java开发中,通过jxl.jar提供的api可以方便的生成你想要的excel文件。

    jxl jar包(java生成EXCEL文件)

    Java生成Excel文件是许多开发人员在处理数据导出或报告生成时经常遇到的任务。`jxl`库是一个非常流行的开源Java库,它允许开发者轻松地读取、写入和修改Excel文件。`jxl`库提供了丰富的API,使得在Java程序中操作...

    java解析excel文件 jxl.jar

    Java解析Excel文件是Java开发中常见的任务,尤其是在处理数据导入导出、数据分析或者报表生成时。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。在Java中,JXL.jar库提供了一种简单且高效的...

    java生成excel实例通过(jxl)

    Java生成Excel是常见的数据处理需求,特别是在大数据导出、报表制作和数据分析场景中。JXL是一个流行的Java库,专门用于处理Microsoft Excel文件。本实例将详细介绍如何使用JXL库在Java中生成、读取、复制和修改...

    Java生成excel 和读取word文档的内容 jxl 代码

    在Java编程中,生成Excel和读取Word文档是常见的任务,尤其在数据处理、报告生成或数据导出等场景中。这里我们将详细讨论如何使用jxl库来完成这些任务。 首先,jxl是一个广泛使用的开源Java库,它允许开发者方便地...

    java 创建EXCEL文件,并向EXCEL中写入数据

    总的来说,Java配合`jxl`库可以方便地实现Excel文件的创建和数据写入,这对于数据导出、报告生成等场景非常实用。然而,需要注意的是,`jxl`库只支持旧版的.BIFF8格式(Excel 97-2003),对于新版的.xlsx格式(Excel...

    java操作excel——jxl和poi比较

    在Java编程领域,处理Excel文件是一项常见的任务,用于数据导入导出、数据分析或者报表生成等。本文将对比两种主流的Java Excel处理库:jxl和Apache POI,并探讨它们的特性和适用场景。 首先,jxl是较早的Java ...

    java用list直接生成Excel文件

    利用jxl包结合java反射机制和注释,直接把list生成对应的Excel文件,即只需传入list、对应生成的对象、标题就可以生成excel文件write(String title, List list,Class c),实现一个简单生成excel工具类

    java操作excel文件jxl.jar文件的源码,及例子

    Java操作Excel文件是常见的数据处理任务,特别是在大数据分析、报表生成和数据导入导出场景中。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Microsoft Excel文件(.xls格式)。在这个场景中,我们...

    jxl模版生成excel

    "jxl模版生成excel" 指的是使用JExcelAPI(简称jxl)这个Java库来创建基于模板的Excel文件。JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可...

    Java通过POI和JXL给Excel动态添加水印

    - **JXL**: 是一个用于读写Excel文件的Java库,支持多种Excel版本,包括.xls格式。 - **Apache POI**: 同样是处理Excel文件的强大Java库,除了支持.xls外还支持.xlsx等新版本格式,并且提供了更多的功能,如图表、...

    JXL使用模板通过el表达式生成excel文件

    在JXL中,结合EL表达式,我们可以动态地生成Excel内容,这使得在模板基础上生成复杂的数据报告变得非常便捷。 **步骤1:准备Excel模板** 首先,你需要创建一个Excel模板文件,这个模板包含你想要在生成的Excel中...

    java操作excel(jxl)

    JXL库是Java社区中广泛使用的工具,专门用于读取和写入Excel文件。在这个场景中,我们将探讨如何使用Java和JXL库来操作Excel,并将数据导入MySQL数据库。 1. **JXL库介绍** JXL是一个开源的Java库,它提供了对...

    java使用jxl打印excel报表文件

    在Java开发中,生成和处理Excel文件是一项常见的任务,特别是在数据导出或报表生成的场景。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel...

    java生成Excel及jar包和文件下载的几种方式

    在Java开发中,生成Excel...总的来说,Java生成Excel有多种库可以选择,如JXL和Apache POI,而文件打包和下载可以通过构建工具和Web服务端代码实现。理解这些技术对于提升Java开发中的数据处理和文件交互能力至关重要。

    jxl.rar源代码,示例,文档,Demo,使用java生成Excel

    《使用Java生成Excel:jxl库的深度解析与实践指南》 在Java开发中,处理Excel数据是一项常见的任务,尤其在数据分析、报表生成等领域。jxl库作为一个强大的工具,为Java程序员提供了方便快捷的方式来读写Excel文件...

    java操作excel,jxl边框的设置,jxl单元格的设置

    在Java编程中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域。`JXL`库是一个广泛使用的Java库,它允许开发者读取和写入Microsoft Excel格式的文件。本文将深入探讨如何使用JXL进行Excel...

Global site tag (gtag.js) - Google Analytics