`

JXL入门介绍

 
阅读更多

最近由于工作需要,也要整报表。 为什么中国人那么喜欢报表呢? 搞不明白!

     下面是对JXL一点介绍。

Java代码

  1. package com.xinli;   
  2. import java.io.FileOutputStream;   
  3. import java.io.OutputStream;   
  4. import java.text.SimpleDateFormat;   
  5. import java.util.ArrayList;   
  6. import java.util.Date;   
  7. import java.util.List;   
  8.   
  9. import jxl.*;   
  10. import jxl.format.Alignment;   
  11. import jxl.format.Border;   
  12. import jxl.format.BorderLineStyle;   
  13. import jxl.format.CellFormat;   
  14. import jxl.write.Boolean;   
  15. import jxl.write.Label;   
  16. import jxl.write.Number;   
  17. import jxl.write.WritableCellFormat;   
  18. import jxl.write.WritableFont;   
  19. import jxl.write.WritableSheet;   
  20. import jxl.write.WritableWorkbook;   
  21.   
  22. public class JXLExample {   
  23.   
  24.     /**
  25.       *
  26.       * @author smart      *
  27.       */  
  28.     public static void main(String[] args) {   
  29.         // 准备设置excel工作表的标题   
  30.          String[] title = {"编号","产品名称","产品价格","产品数量","生产日期","产地","是否出口"};   
  31.         try {   
  32.             // 获得开始时间   
  33.             long start = System.currentTimeMillis();   
  34.             // 输出的excel的路径   
  35.              String filePath = "c:\\test.xls";   
  36.             // 创建Excel工作薄   
  37.              WritableWorkbook wwb;   
  38.             // 新建立一个jxl文件,即在C盘下生成test.xls   
  39.              OutputStream os = new FileOutputStream(filePath);   
  40.              wwb=Workbook.createWorkbook(os);   
  41.             // 添加第一个工作表并设置第一个Sheet的名字   
  42.              WritableSheet sheet = wwb.createSheet("产品清单"0);   
  43.              Label label;   
  44.             for(int i=0;i<title.length;i++){   
  45.                 // Label(x,y,z)其中x代表单元格的第x+1列,第y+1行, 单元格的内容是y   
  46.                 // 在Label对象的子对象中指明单元格的位置和内容   
  47.                  label = new Label(i,0,title[i]);   
  48.                 // 将定义好的单元格添加到工作表中   
  49.                  sheet.addCell(label);   
  50.              }   
  51.             // 下面是填充数据   
  52.             /*
  53.               * 保存数字到单元格,需要使用jxl.write.Number
  54.               * 必须使用其完整路径,否则会出现错误
  55.               * */  
  56.             // 填充产品编号   
  57.             jxl.write.Number number = new jxl.write.Number(0,1,20071001);   
  58.              sheet.addCell(number);   
  59.             // 填充产品名称   
  60.              label = new Label(1,1,"金鸽瓜子");   
  61.              sheet.addCell(label);   
  62.             /*
  63.               * 定义对于显示金额的公共格式
  64.               * jxl会自动实现四舍五入
  65.               * 例如 2.456会被格式化为2.46,2.454会被格式化为2.45
  66.               * */  
  67.             jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");   
  68.             jxl.write.WritableCellFormat wcf = new jxl.write.WritableCellFormat(nf);   
  69.             // 填充产品价格   
  70.             jxl.write.Number nb = new jxl.write.Number(2,1,2.45,wcf);   
  71.              sheet.addCell(nb);   
  72.             // 填充产品数量   
  73.             jxl.write.Number numb = new jxl.write.Number(3,1,200);   
  74.              sheet.addCell(numb);   
  75.             /*
  76.               * 定义显示日期的公共格式
  77.               * 如:yyyy-MM-dd hh:mm
  78.               * */  
  79.              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");   
  80.              String newdate = sdf.format(new Date());   
  81.             // 填充出产日期   
  82.              label = new Label(4,1,newdate);   
  83.              sheet.addCell(label);   
  84.             // 填充产地   
  85.              label = new Label(5,1,"陕西西安");   
  86.              sheet.addCell(label);   
  87.             /*
  88.               * 显示布尔值
  89.               * */  
  90.             jxl.write.Boolean bool = new jxl.write.Boolean(6,1,true);   
  91.              sheet.addCell(bool);   
  92.             /*
  93.               * 合并单元格
  94.               * 通过writablesheet.mergeCells(int x,int y,int m,int n);来实现的
  95.               * 表示将从第x+1列,y+1行到m+1列,n+1行合并
  96.               *
  97.               * */  
  98.              sheet.mergeCells(0,3,2,3);   
  99.              label = new Label(0,3,"合并了三个单元格");   
  100.              sheet.addCell(label);   
  101.             /*
  102.               *
  103.               * 定义公共字体格式
  104.               * 通过获取一个字体的样式来作为模板
  105.               * 首先通过web.getSheet(0)获得第一个sheet
  106.               * 然后取得第一个sheet的第二列,第一行也就是"产品名称"的字体
  107.               * */  
  108.              CellFormat cf = wwb.getSheet(0).getCell(10).getCellFormat();   
  109.              WritableCellFormat wc = new WritableCellFormat();   
  110.             // 设置居中   
  111.              wc.setAlignment(Alignment.CENTRE);   
  112.             // 设置边框线   
  113.              wc.setBorder(Border.ALL, BorderLineStyle.THIN);   
  114.             // 设置单元格的背景颜色   
  115.              wc.setBackground(jxl.format.Colour.RED);   
  116.              label = new Label(1,5,"字体",wc);   
  117.              sheet.addCell(label);   
  118.   
  119.             // 设置字体   
  120.             jxl.write.WritableFont wfont = new jxl.write.WritableFont(WritableFont.createFont("隶书"),20);   
  121.              WritableCellFormat font = new WritableCellFormat(wfont);   
  122.              label = new Label(2,6,"隶书",font);   
  123.              sheet.addCell(label);   
  124.                
  125.             // 写入数据   
  126.              wwb.write();   
  127.             // 关闭文件   
  128.              wwb.close();   
  129.             long end = System.currentTimeMillis();   
  130.              System.out.println("----完成该操作共用的时间是:"+(end-start)/1000);   
  131.          } catch (Exception e) {   
  132.              System.out.println("---出现异常---");   
  133.              e.printStackTrace();   
  134.          }   
  135.      }   
  136.   
  137. }  
分享到:
评论

相关推荐

    jxl入门教程实例及边框样式、背景样式

    该实例是jxl工具的入门代码。jxl是java对excel操作的开源工具,可以实现绝大部分的excel处理。 其中,BorderLineOfJxl.java是展示jxl的单元格边框样式。 ColourOfJxl.java是展示jxl的单元格背景样式。 JxlTest.java...

    jxl用于读取Excel的Java类(个人总结综合教程,适合新入门的朋友阅读)

    ### jxl库在Java中用于读取Excel的关键知识点解析 #### 一、jxl库简介与功能 jxl是Java Excel API的一个实现,主要用于在Java应用程序中读取和写入Microsoft Excel工作簿。该库提供了丰富的API来处理Excel文档,...

    jxl excel 入门 带项目 适合初学者

    本篇文章将深入介绍JXL库的入门知识,并通过实际项目案例帮助初学者快速上手。 **1. JXL库简介** JXL是Java中用于读写Excel文件的开源库,它支持Excel 97到2003的.BIFF格式,即.xls文件。JXL提供了丰富的API,可以...

    jxl1.0.rar

    《使用JXL库生成Excel:入门与实践》 在信息化时代,数据的处理与分析变得至关重要,Excel作为广泛使用的电子表格工具,对于数据管理、计算和报表生成具有强大的功能。在Java开发环境中,如何与Excel进行交互呢?这...

    JXL全量版教程 java读取excle

    同时,`Java Excel API jxl入门及jxl_jar下载 - Java SE (Java Platform, Standard Edition) - 大家论坛.htm`和`Java Excel API jxl入门及jxl_jar下载 - Java SE (Java Platform, Standard Edition) - 大家论坛....

    JXL英文文档、源码、中文基础使用文档

    1. **安装与引入**:介绍如何将JXL库添加到Java项目中,通常是通过Maven或Gradle的依赖管理方式。 2. **API参考**:详尽列举了库中所有类和方法,帮助开发者了解每个组件的作用。 3. **示例代码**:提供实例来展示...

    jxl.jar 下载excel电子表格(1)

    这篇博客“jxl.jar 下载excel电子表格(1)”可能是介绍如何使用这个库来处理Excel文件的入门教程。 在描述中提到的“NULL”意味着没有提供具体的细节,但通常这样的描述可能引导读者去博文链接获取更多信息。根据...

    jxl开发包,实例,API文档

    jxl的jar包和简单实例代码,以及api文档 一次下载全部入门资料

    java poi jxl 操作excel的小例子

    在这个入门级的实例中,我们将探讨如何使用这两个库来操作Excel文件。首先,我们先了解一下这两个库的基本概念。 1. **Java POI**: - Java POI 是 Apache 软件基金会的一个开源项目,它提供了一套API,允许Java...

    jxl poi java操作excel

    - `POI整理.doc`、`Java-Excel报表开发POI.doc`和`POI3.5_HSSF_和XSSF_Excel操作快速入门手册.pdf`可能是关于POI的详细教程和最佳实践。 - `JXL操作EXCEL的常用类方法参数解析.doc`可能包含jxl库中常用类和方法的...

    jxl.jardownload

    总的来说,jxl库为Java开发者提供了一个简单易用的接口来操作Excel,是初学者入门的好选择。通过实践,不仅可以熟悉Java的文件操作,还能掌握与Excel数据交互的技巧,为后续的项目开发打下坚实的基础。

    java导入导出excel操作(jxl),整理中。。。

    在Java编程中,处理Excel文件是一项常见的任务,特别是在...总的来说,虽然jxl库有一些限制,但它仍然是一个快速入门和处理.xls文件的好工具。在选择使用哪个库进行Excel操作时,应考虑到项目的具体需求和兼容性问题。

    Java Excel API入门使用说明

    下面将详细介绍 JXL 的使用方法和相关知识点。 一、JXL 的主页和下载 JXL 的主页是 http://www.andykhan.com/jexcelapi/,可以在这里下载到它的最新的版本。 二、JXL 的命令行使用 可以分别通过以下命令使用 JXL...

    ht_excel_user.rar

    这个压缩包对于那些需要在Java环境中处理Excel2003文件的开发者来说非常有价值,尤其是对于初学者,它可以提供一个快速入门的环境,通过实例学习如何使用jxl库。同时,包含的JDK和可能的Excel工具也方便了开发过程。

    电路基础快速入门-相量法分析RLC串联电路.pptx

    《电路基础快速入门——相量法分析RLC串联电路》 电路分析是电气工程和电子技术领域的基础,而RLC串联电路则是电路理论中的一个重要部分。RLC串联电路由电阻(R)、电感(L)和电容(C)三个元件串联组成,这种电路...

    电路基础快速入门-电阻、电感、电容元件VCR的相量形式.pptx

    本节主要介绍电阻、电感、电容元件在正弦交流电路中的相量表示法,也称为VCR(电压-电流关系)的相量形式。相量是数学工具,用于处理复数和解析正弦信号,它在电路分析中扮演着重要角色。 首先,我们来了解相量运算...

    JXL-H5-LXT-Manager:学堂-后台管理系统

    Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。您还将在控制台中看到任何棉绒...

    springboot结合Easyexcel的使用(详细介绍Easyexcel)小白入门到精通

    在Java开发中,处理Excel文件是一项常见的任务,而Apache POI和jxl库由于内存消耗大、处理大量数据时速度慢等问题,已不能满足高效、稳定的需求。这时,阿里巴巴开发的EasyExcel应运而生,它提供了一种更加高效、...

    POI入门教程

    相对于jxl,POI具有更广泛的兼容性和更活跃的更新,特别是在支持Excel 2007及其后续版本上。 在使用POI处理Excel时,主要涉及以下几个核心概念: 1. **Workbook**: 这是操作Excel文件的主要接口,类似于Excel的...

Global site tag (gtag.js) - Google Analytics