`

jxl 实例

    博客分类:
  • java
阅读更多

jxl官网:http://jexcelapi.sourceforge.net/

 

 

jexcelapi_2_6_12  

一开始就遇到问题了:Bad version number in .class file。版本不对? 

eclipse的preferences>Installed JREs里面添加一个jre6并且勾选中是使用该jre就好了

 

1.导出:

import java.io.File;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.Orientation;
import jxl.format.ScriptStyle;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCellFeatures;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class Write {

 public void write() throws Exception {
  
  //WorkbookSettings ws = new WorkbookSettings();
    // ws.setLocale(new Locale("en", "EN"));
  WritableWorkbook workbook = Workbook.createWorkbook(new File("output_测试.xls"));//创建excel对象
  //WritableWorkbook workbook = Workbook.createWorkbook(new File("test.xls"), ws);
  
  
  WritableSheet sheet = workbook.createSheet("First Sheet", 0); //创建sheet
  //WritableSheet sheet2=workbook.createSheet("sheet2", 1);//创建第二个sheet
  
  //样式
  sheet.setColumnView(0, 60); //A宽度变宽了
  //sheet.setColumnView(1, 30); //B宽度也变宽了
  
  //格式化
    WritableFont arial12pt = new WritableFont(WritableFont.ARIAL, 12);//设置字体为12象素
      WritableCellFormat arial12format = new WritableCellFormat(arial12pt);
      arial12format.setWrap(true);
      Label labelGSH = new Label(4, 0, "Normal", arial12format);
      sheet.addCell(labelGSH);
  
  /* WritableFont a18p=new WritableFont(WritableFont.ARIAL,18);
    WritableCellFormat a18pf=new WritableCellFormat(a18p);
    a18pf.setWrap(true);
    Label label18=new Label(5,1,"18象素",a18pf);
    sheet.addCell(label18);
   */
    //  WritableFont arial12ptBold = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD); //字体12象素加粗
  
     /* WritableFont arial12ptItalic = new WritableFont(WritableFont.ARIAL, 12, WritableFont.NO_BOLD, true);//字体12象素斜体
      WritableCellFormat arial12ptItalicFormat = new WritableCellFormat(arial12ptItalic);
      Label labeli = new Label(4, 4, "Italic", arial12ptItalicFormat);
      sheet.addCell(labeli);
      */
     
     /* WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10);
      WritableCellFormat times10format = new WritableCellFormat(times10pt);
      Label labelt = new Label(0, 7, "Times Fonts", times10format);
      sheet.addCell(labelt);

      labelt = new Label(1, 7, "10pt", times10format);
      sheet.addCell(labelt);
   */
     
    /*  WritableFont arial10ptUnderline = new WritableFont(WritableFont.ARIAL,WritableFont.DEFAULT_POINT_SIZE,
         WritableFont.NO_BOLD,false,UnderlineStyle.SINGLE_ACCOUNTING);// 下划线 UnderlineStyle.DOUBLE(双下划线)
      WritableCellFormat arialUnderline = new WritableCellFormat(arial10ptUnderline);
      Label lr = new Label(6,11, "Underline", arialUnderline);
   sheet.addCell(lr);
     */
     
      //字体颜色
      /*WritableFont superscript = new WritableFont
        (WritableFont.ARIAL,
         WritableFont.DEFAULT_POINT_SIZE,
         WritableFont.NO_BOLD,
         false,
         UnderlineStyle.NO_UNDERLINE,
         Colour.RED,
         ScriptStyle.SUPERSCRIPT);
      WritableCellFormat superscriptFormat = new WritableCellFormat
        (superscript);
     Label lr = new Label(1,15, "superscript", superscriptFormat);
      sheet.addCell(lr);
     */
     
      //背景颜色
     /* WritableCellFormat greyBackground = new WritableCellFormat();
      greyBackground.setWrap(true);
      greyBackground.setBackground(Colour.GRAY_50);
      Label labelg = new Label(1, 16, "Grey background", greyBackground);
      sheet.addCell(labelg);
   */
     
     
  Label label = new Label(0, 2, "A label record"); //添加一个Label 在A3
  sheet.addCell(label);  
 
  Label lrn = new Label(1,17,
                "A very long label, more than 255 characters\012" +
                "Rejoice O shores\012"+
                "Sing O bells\012" +
                "But I with mournful tread\012" +
                "Walk the deck my captain lies\012" +
                "Fallen cold and dead\012"+
                "Summer surprised, coming over the Starnbergersee\012" +
                "With a shower of rain. We stopped in the Colonnade\012" +
                "A very long label, more than 255 characters\012" +
                "Rejoice O shores\012" +
                "Sing O bells\012" +
                "But I with mournful tread\012" +
                "Walk the deck my captain lies\012" +
                "Fallen cold and dead\012"+
                "Summer surprised, coming over the Starnbergersee\012" +
                "With a shower of rain. We stopped in the Colonnade\012" +          
                "And sat and drank coffee an talked for an hour\012",
                arial12format);    //\012换行,内容多的话推荐使用这个
   sheet.addCell(lrn);
  
   /*//垂直显示
      WritableCellFormat vertical = new WritableCellFormat();
       vertical.setOrientation(Orientation.VERTICAL);
       Label lrv = new Label(0, 12, "Vertical orientation", vertical);
       sheet.addCell(lrv);
       */
   
   /*//旋转45度
    * WritableCellFormat plus_90 = new WritableCellFormat();
      plus_90.setOrientation(Orientation.PLUS_45);
      Label lrp = new Label(0, 13, "Plus 90", plus_90);
      sheet.addCell(lrp);
   */
   
   /*合并单元格
    WritableCellFormat wcf = new WritableCellFormat();
       wcf.setAlignment(Alignment.CENTRE);
       Label l2 = new Label(5, 42, "Centred across merged cells合并成一行", wcf);
       sheet.addCell(l2);
       sheet.mergeCells(5, 42, 10, 42);  //合并成一行
       //sheet.mergeCells(6, 42, 6, 46);  //合并成一列
       //sheet.mergeCells(5, 42, 6, 46);   //合并成多行多列
   */
   WritableCellFormat wcf = new WritableCellFormat();
      wcf.setAlignment(Alignment.CENTRE);
      Label l2 = new Label(5, 42, "Centred across merged cells", wcf);
      sheet.addCell(l2);
      sheet.mergeCells(5, 42, 6, 46);  //合并成多行多列
     
      WritableCellFormat wcf2 = new WritableCellFormat();
      wcf2.setBorder(Border.ALL, BorderLineStyle.THIN);          //边框
      wcf2.setBackground(Colour.GRAY_25);     //背景
      Label le = new Label(3, 44, "Merged with border", wcf2);
      sheet.addCell(le);
      sheet.mergeCells(3, 44, 4, 46);
   
      WritableFont times12pt = new WritableFont(WritableFont.TIMES, 12);
      WritableCellFormat indented = new WritableCellFormat(times12pt);
      indented.setIndentation(2);         //缩进
      Label l5 = new Label(0, 31, "Some indented text", indented);
      sheet.addCell(l5);
     
    Label l = new Label(0, 14, "A cell with a comment");
       WritableCellFeatures cellFeatures = new WritableCellFeatures();
       cellFeatures.setComment("the cell comment");     //备注
       l.setCellFeatures(cellFeatures);
       sheet.addCell(l);

 

  Date date=new Date();

       // Built in date formats
      // SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss.SSS");
       SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日   mm:ss");
       sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
       Label lr = new Label(0,0,"All dates are " + sdf.format(date),wrappedText);
       sheet.addCell(lr);
      
       //数值格式化
       WritableCellFormat cf2 = new WritableCellFormat(NumberFormats.FLOAT);
       Number n = new Number(1,2,3.1415926535,cf2);  //3.14
       sheet.addCell(n);
      
       NumberFormat dp3 = new NumberFormat("###,###.##");   //0.000E0    #.###    0.0%
       WritableCellFormat dp3cell = new WritableCellFormat(dp3);
       Number n2 = new Number(1,3,3.1415926535,dp3cell);
       sheet.addCell(n2);
      
       //Boolean
      jxl.write.Boolean b=new jxl.write.Boolean(1,4,true);
      sheet.addCell(b);
     
   
  Number number = new Number(3, 4, 3.1459);         //添加数值:3.1459在D5
  sheet.addCell(number);
  
  //Label label2=new Label(0,3,"测试");
  //sheet.addCell(label2);

 

 //添加图片对象,jxl只支持png格式图片  
                  File   image   =   new   File("d:\\我的文档\\供应商.png");  
                  WritableImage   wimage   =   new   WritableImage(0,7,20,20,image);//0,1分别代表x,y.20,20代表宽和高占的单元格数  
                    sheet.addImage(wimage);
  
  workbook.write();
  workbook.close();
 }
 public static void main(String[] args) {
  Write jxl=new Write();
  try {
   jxl.write();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

}

 

分享到:
评论
2 楼 bowl154 2011-12-21  
引用
[url][/url][flash=200,200][/flash]
[align=center][/align][size=x-large][/size][color=green][/color]
1 楼 bowl154 2011-12-21  

相关推荐

    jxl操作excel实例,jxl jar包下载

    本文将详细介绍如何使用`jxl`库进行Excel操作,并提供一个简单的实例。 首先,`jxl.jar`是`jxl`库的主要组件,你需要将其添加到你的项目类路径中。这可以通过将`jxl.jar`放在`lib`目录下或在IDE(如Eclipse、...

    用JXL读写excel到数据库实例

    使用jxl,读写excel数据进数据库的例子。 需要jxl.jar、poi-2.0-final-20040126.jar、mysql-connector-java-3.0.8-stable-bin.jar、jakarta-poi-1.5.1-final-20020615.jar。

    jxl读写excle实例.txt

    JAVA可以利用jxl简单快速的读取excel文件的内容。由于版本限制,只能读取97-03 xls格式的Excel。jxl.Cell; jxl.Sheet; jxl.Workbook;

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

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

    用jxl操作excel实例

    标题中的“用jxl操作excel实例”指的是使用Java Excel API(简称JXL)来处理Microsoft Excel文件的一个实际应用。JXL是一个开源库,允许Java开发者读取、写入和修改Excel电子表格。在这个Spring MVC工程中,JXL被...

    jxl开发包,实例,API文档

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

    jxl及jxlApi

    要创建新的Excel文件或修改现有文件,你需要先创建一个`Workbook`实例,然后创建`Sheet`,接着在`Sheet`上添加`Row`和`Cell`。以下是一个写入数据的例子: ```java WritableWorkbook workbook = Workbook....

    java jxl Excel 读写 合并单元格 下载 等实例

    java jxl Excel 读写 合并单元格 下载 等实例

    使用JXL生成Excel实例详解

    这篇博客“使用JXL生成Excel实例详解”将深入探讨如何利用JXL库来创建Excel文件。 首先,要开始使用JXL,你需要在项目中添加JXL的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    jxl 实现excel导入导出

    对于这样的需求,`jxl`库提供了一个非常实用的解决方案。`jxl`,全称为Java Excel API,是一个纯Java编写的库,专门用于读写Microsoft Excel文件。在本文中,我们将深入探讨`jxl`库如何帮助开发者实现Excel的导入和...

    JAVA导出Excel报表之jxl插件及实例源码

    包含:jxl插件以及源代码示例 jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API...

    jxl导出excel 完整例子工程

    jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程

    jxl读取excel数据(带实例)

    如果你的“导入excel”文件是这个过程的一个实例,那么你应该能够找到一个类似的代码实现。在实际应用中,你可能需要根据具体需求进行扩展,比如处理公式、样式、图表或者多个工作表等更复杂的情况。不过,以上代码...

    JXL操作Excel实例(1)

    **JXL库详解与Excel操作实例** JXL(Java Excel API)是一个开源的Java库,专为处理Microsoft Excel文件而设计。它允许开发者在Java应用程序中读取、写入和修改Excel工作簿,无需依赖Microsoft Office。JXL库提供了...

    java利用jxl读取excel文件

    可以使用`WorkbookFactory`静态方法`create`来创建`Workbook`实例。例如: ```java FileInputStream fis = new FileInputStream("path_to_your_excel_file.xls"); Workbook workbook = Workbook.getWorkbook(fis); `...

    Java jxl操作Excel97-2003 eclipse可运行项目实例

    这个"Java jxl操作Excel97-2003 eclipse可运行项目实例"提供了一个实用的示例,帮助开发者了解如何在Eclipse环境中使用jxl库与Excel97-2003版本的文件进行交互。 1. **jxl库介绍** jxl库是Java编程语言中的一个...

    关于jxl操作excel说明以及jxl.jar包下载2.6

    创建一个新的`Workbook`实例,然后创建`Sheet`对象。接着,可以使用`Cell`类设置单元格内容,最后调用`Workbook.write(FileOutputStream)`方法将工作簿写入文件。 3. **格式化单元格**: JXL允许设置单元格的样式...

    使用jxl导出Excel表的好例子

    `jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Microsoft Excel文件。本篇文章将深入探讨如何利用`jxl`库来创建和导出Excel表格。 首先,我们需要在项目中引入`jxl`库。如果你的项目是Maven项目,...

    java生成excel实例通过(jxl)

    本实例将详细介绍如何使用JXL库在Java中生成、读取、复制和修改Excel文件。 首先,我们需要在项目中引入JXL库。如果使用Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...

    jxl学习与经验共享

    创建新的Excel文件或向现有文件写入数据,首先需要创建`Workbook`实例,然后创建`Sheet`,接着创建`Row`和`Cell`。`Cell`可以设置为不同类型的值,如字符串、数字、日期等。一旦所有数据都设置好,使用`write()`...

Global site tag (gtag.js) - Google Analytics