企业文化
华体会全站app下载

公司地址:江苏省南京市鼓楼区中央路399号天正国际广场6栋16楼
联系电话:025-87790189
管理维护:华体会全站

jxl 教程

发布时间:2022-08-13 05:31:25 来源:华体会全站app 作者:华体会全站app下载

  展示在本教程中的内容准备简要概述jxl使用读写Excel中数据,这个教程不是最详细的,如果没有在这里提及的内容,并不代表是该工具没有的功能,读者应该去查看API文档和示例代码(特别是Write.java 和ReadWrite.java)以便获得更多详细的功能和该工具的局限性.

  jxl可以本地文件系统和一些输入流读取Excel . 当从文件或输入流读取Excel时首先是创建Workbook. 以下代码片段示例从本地系统文件创建一个workbook.

  ...在demo示例程序中CSV.java 和 XML.java 使用简便方法 getContents() 方便输出Excel内容.然而在需要在访问单元格内容时需要精确的类型时 例如. 如同一个数值(numerical)或者一个日期值(date), 然后检索单元格必须转换为正确的类型和和调用适当的方法.以下示例代码片段jxl从一个Excel中检索一个真是的java double类型的数据和java.util.Date对象. 出于完备性Label也可以转换为其正确的类型 ,虽然在实践中没有什么不同. 这个示例也阐明如何验证单元格(cell)是你期待的类型,这个在你验证Excel中的单元格(cell)是否在正确的位置时非常实用, .double numberb2 0;

  这段描述如何写出简单的电子表格数据 没有任何的格式化信息,比如 字体(Font) 或者 小数位.

  这里有许多地方需要注意. 首先, 在sheet中的单元格位置需要指定作为构造函数的一部分. 一旦创建, 不能改变单元格的位置, 虽然单元格的内容可以更改.

  在之前的示例介绍中基本的使用API生成Excel电子表格的使用. 然而, 依照标准的Excel将呈现数据为默认的字体,和显示数字保留3位小数. 为了提供格式化信息到Excel,我们必须使用重载的构造方法,需要提供一个额外的对象包含单元格格式化信息 (字体 和样式).

  sheet.addCell(label2);单元格样式是可以共享的,以便多个单元格使用相同的格式化对象 例如.sheet.addCell(label3);这里创建另一个label,使用相同的格式在单元格C1中.因为单元格样式对象是共享的, 不能改变单元格格式化对象内容. (如果这是允许的, 然后改变对象内容可能会有不可预见的后果在其余的工作簿). 以便于改变一个特定的单元格的显示方式,API允许你分配一个新的样式到一个单元格上.WritableFont对象的构造方法有很多重载,通过示例, 以下代码片段创建一个 label 里面字体为TIMES 字号是16, 加粗和分配其位置为 D1.字体为TIMES 字号是16 加粗

  以上代码插入值3.14159到A5和B5中,使用预先设置的整数和浮点数的对应格式.当Excel渲染这些单元格时,虽然这两个单元格都包含同样的浮点型数据,A5将显示3和B5将显示3.14.

  与数字一样,字体信息也可以使用显示日期文本通过使用在WritableCellFormat类重载的构造方法.

  对于更对的写出Excel示例,请见示例程序Write.java,此外以上描述的函数功能,这个示例测试出不同类型的单元格,格式化信息和字体设置选项,以及显示单元格不同的背景和前景,底纹和边框.

  这部分描述场景是一个读入的Excel,将其内容在某种程度上进行修改,将修改后的Excel写出.

  API函数这种方式是出于读取的效率(由于这里主要是使用的API).为了改善性能, 涉及数据输出,当Excel是可读时,输出信息是没有解释的(例如  所有格式化信息,比如字体),当审查原始数据是这是没有必要的.然而,如果我们需要修改这个Excel那么一个处理各种写出的接口是必要的,这可使用以上的复制方法获得.这个复制的信息已经读取,以及执行额外的处理解释字段,这都需要编写Excel. 这个优化的读取策略的缺点是我们需要持有两个Excel在内存,而不是一个.这样我们需要加倍的内存,对于复制和修改很大Excel的情况,将会消耗很多内存.

  这里不需要调用sheet的add()方法, 因为单元格已经出现在sheet上,数字内容和日期内容的单元格可以使用相同的方法修改,通过使用对应的setValue()方法 和setDate() 方法.虽然单元格的格式是不可变的,可以通过分配一个不同的格式化对象给单元格可是单元格内容呈现不同样式. 以下示例代码片段改变格式化数字单元格(位置是C5)所以他的内容将显示为5个小数点.WritableCell cell sheet2.getWritableCell(2, 4);

  copy.close();示例程序包含在源文件ReadWrite.java中,可以学习到更多详细示例,如何对Excel进行修改.这个示例程序复制Excel通过传入命令,如果是示例Excel(jxlrwtest.xls)被复制 ,位于当前文件夹,然后进行某些修改.不要修改示例Excel,否则示例程序将不能工作.

  jxl提供大量的示例和测试程序包含在jxl.demo.包 .这些可以从命令行进行访问 ,如下