彩票软件

让梦想从这里开始

因为有了梦想,我们才能拥有奋斗的目标,而这些目标凝结成希望的萌芽,在汗水与泪水浇灌下,绽放成功之花。

媒体报道
你的位置:彩票软件 > 媒体报道 > Java操作Excel的两种方法(一)JXL

Java操作Excel的两种方法(一)JXL

2022-03-12 20:13    点击次数:66
最近,通过搜索一些资料,做了了一个简单的java操作excel的小例子:在java操作excel的工具中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI(即jxl)。jxl相对于poi功能比较弱一点,jxl对中文的支持非常好,API是纯java的,并不依赖于Windows系统,运行在Linux下也同样能处理excel。但是比较局限的是jxl对图形和图表的支持很有限(我想这一点估计跟朋友们公司做的操作excel时选择POI的缘由),仅仅能识别png格式。因为我只是做一个简单的小例子,而且以前没有用过java操作excel,所以就在网上随便搜了一下关于java操作excel的内容,最后我选择了用jxl,做了一读和修改已有的excel案例,把比较关键的code贴在下面<做这个有一个比较奇怪的感觉,好像跟之前的java读写文件很像>:我在做的过程中遇到这样的一个错<---jxl.read.biff.BiffException: Unable to recognize OLE stream--->我在网上搜索了,也有很多出现这样的错,后来发现有人说是excel的版本问题,我机器上的excel是2007后缀以xlsx,后来搞成2003版本的就ok了。package com.sample.excel;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import com.sample.excel.inteface.ExcelInterface;import com.sun.org.apache.bcel.internal.classfile.Field;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;/*关注:(使用jxl)java操作excel,一定离不了workbook创建一个excel的时候,需要先得到一个可写的workbook WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));而读取一个excel的时候,需要得到这样一个workbookWorkbook wb = Workbook.getWorkbook(new File("test.xls"));修改一个excel的时候,需要这样一个workbook,它与创建excel时候的workbook类似,多了一个参数Workbook wb = Workbook.getWorkbook(new File("test.xls"));  WritableWorkbook writerBook = Workbook.createWorkbook(new File("test.xls"), wb);*///创建excelpublic class ExcelCreate(){          public static void createExcel(){                      //创建workbook                      WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));                     //表示生成一个名称为sheet1的sheet(工作表),参数0表示第一页                        WritableSheet sheet = book.createSheet("sheet1",0);                      //指明单元格的位置是第一行第一列,并且内容为"test"                      Label label = new Label(0,0,"test");                      //把该label加入到工作表中(注意只有可写的workbook和可写的sheet才能做这些增加,删除....操作)                       sheet.addCell(label);                       book.write();                       book.close();          } }//读excelpublic class ExcelReader { private static ExcelInterface checkExcel = null; //private static ExcelInterface excelInterface = null; private static Workbook wb = null; //读取excel中的某一个 sheet. public static void readExcel(File excelFile){  try {   FileInputStream is = new FileInputStream(excelFile);   //读取excel数据表的第一步是创建workbook工作簿   wb = Workbook.getWorkbook(is);   //通过 workbook来 访问excel sheet   Sheet sh1 = wb.getSheet(2);   //通过 sheet访问excel cell,获取第一行第一列 的值   // Cell c1 = sh1.getCell(1, 0);   //获得excel所有sheet的名称      /*String sheetNames[] = wb.getSheetNames();//读取一个excel里的所有sheet名称   for (int i = 0; i < sheetNames.length; i++) {    System.out.println("sheet name="+ i +sheetNames[i]);   }*/   int columns = sh1.getColumns();      for (int i = 0; i < sh1.getRows(); i++) {    //String[] nextLine = new String[columns];    System.out.println();    for (int j = 0; j < columns; j++) {//注意任何一个cell(单元格)getContents()以后都会得到一个字符串(不管它原来是什么类型,eg:整形、浮点型、字符....)     String cellVal = sh1.getCell(j, i).getContents();     //System.out.print(sh1.getCell(j, i).getContents()+"

Powered by 彩票软件 @2013-2022 RSS地图 HTML地图