




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
利用JAVA操作EXCEL文件(JAVA EXCEL API)JAVA EXCEL API简介Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。提供以下功能:从Excel 95、97、2000等格式的文件中读取数据;读取Excel公式(可以读取Excel 97以后的公式);生成Excel数据表(格式为Excel 97);支持字体、数字、日期的格式化;支持单元格的阴影操作,以及颜色操作;修改已经存在的数据表;能够读取图表信息1.应用示例:包括从Excel读取数据,生成新的Excel,以及修改Excelpackage common.util;import jxl.*;import jxl.format.UnderlineStyle;import jxl.write.*;import jxl.write.Number;import jxl.write.Boolean;import java.io.*;/* Created by IntelliJ IDEA.* User: xl* Date: 2005-7-17* Time: 9:33:22* To change this template use File | Settings | File Templates.*/public class ExcelHandlepublic ExcelHandle()/* 读取Excel* param filePath*/public static void readExcel(String filePath)tryInputStream is = new FileInputStream(filePath);Workbook rwb = Workbook.getWorkbook(is);/Sheet st = rwb.getSheet(0)这里有两种方法获取sheet表,1为名字,而为下标,从0开始Sheet st = rwb.getSheet(original);Cell c00 = st.getCell(0,0);/通用的获取cell值的方式,返回字符串String strc00 = c00.getContents();/获得cell具体类型值的方式if(c00.getType() = CellType.LABEL)LabelCell labelc00 = (LabelCell)c00;strc00 = labelc00.getString();/输出System.out.println(strc00);/关闭rwb.close();catch(Exception e)e.printStackTrace();/* 输出Excel* param os*/public static void writeExcel(OutputStream os)try/* 只能通过API提供的工厂方法来创建Workbook,而不能使用WritableWorkbook的构造函数,* 因为类WritableWorkbook的构造函数为protected类型* method(1)直接从目标文件中读取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile);* method(2)如下实例所示 将WritableWorkbook直接写入到输出流*/WritableWorkbook wwb = Workbook.createWorkbook(os);/创建Excel工作表 指定名称和位置WritableSheet ws = wwb.createSheet(Test Sheet 1,0);/*往工作表中添加数据*/1.添加Label对象Label label = new Label(0,0,this is a label test);ws.addCell(label);/添加带有字型Formatting对象WritableFont wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);WritableCellFormat wcf = new WritableCellFormat(wf);Label labelcf = new Label(1,0,this is a label test,wcf);ws.addCell(labelcf);/添加带有字体颜色的Formatting对象WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);WritableCellFormat wcfFC = new WritableCellFormat(wfc);Label labelCF = new Label(1,0,This is a Label Cell,wcfFC);ws.addCell(labelCF);/2.添加Number对象Number labelN = new Number(0,1,3.1415926);ws.addCell(labelN);/添加带有formatting的Number对象NumberFormat nf = new NumberFormat(#.#);WritableCellFormat wcfN = new WritableCellFormat(nf);Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);ws.addCell(labelNF);/3.添加Boolean对象Boolean labelB = new jxl.write.Boolean(0,2,false);ws.addCell(labelB);/4.添加DateTime对象jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date();ws.addCell(labelDT);/添加带有formatting的DateFormat对象DateFormat df = new DateFormat(dd MM yyyy hh:mms);WritableCellFormat wcfDF = new WritableCellFormat(df);DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);ws.addCell(labelDTF);/添加图片对象,jxl只支持png格式图片File image = new File(f:2.png);WritableImage wimage = new WritableImage(0,1,2,2,image);ws.addImage(wimage);/写入工作表wwb.write();wwb.close();catch(Exception e)e.printStackTrace();/* 拷贝后,进行修改,其中file1为被copy对象,file2为修改后创建的对象* 尽单元格原有的格式化修饰是不能去掉的,我们还是可以将新的单元格修饰加上去,* 以使单元格的内容以不同的形式表现* param file1* param file2*/public static void modifyExcel(File file1,File file2)tryWorkbook rwb = Workbook.getWorkbook(file1);WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);/copyWritableSheet ws = wwb.getSheet(0);WritableCell wc = ws.getWritableCell(0,0);/判断单元格的类型,做出相应的转换if(wc.getType = CellType.LABEL)Label label = (Label)wc;label.setString(The value has been modified);wwb.write();wwb.close();rwb.close();catch(Exception e)e.printStackTrace();/测试public static void main(String args)try/读ExcelExcelHandle.readExcel(f:/testRead.xls);/输出ExcelFile fileWrite = new File(f:/testWrite.xls);fileWrite.createNewFile();OutputStream os = new FileOutputStream(fileWrite);ExcelHandle.writeExcel(os);/修改ExcelExcelHandle.modif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 笑傲考场课件心理健康
- 2025年电子测量仪器合作协议书
- 2025年工商用制冷、空调设备合作协议书
- 心理健康防欺凌课件
- 矿山股份协议书范本
- 立秋知识课件
- 空调电气知识培训课件
- 2025年MODULE-COG检测系统项目发展计划
- 2025版电商平台融资担保合同
- 2025年度大数据分析与挖掘服务采购合同
- 小学奥数:计算《分数的巧算》练习题
- 人教版八年级上册物理期末试卷(含答案)
- 组建风险管理咨询公司方案
- 汽车项目管理工作总结
- 丹毒课件护理查房
- PMC-651T配电变压器保护测控装置使用说明书V1.2
- 普通混凝土用碎石、卵石检测报告
- 现西第三册课文讲解及答案
- 2023年上海市教师招聘考试《教育心理学》考前模拟题及答案
- ZAPI交流故障表 萨牌代码
- 天津某市政道路排水工程基坑钢板桩支护施工方案
评论
0/150
提交评论