package com.base.util; import java.io.*; import jxl.*; import jxl.write.*; import jxl.write.biff.LabelRecord; import jxl.write.biff.RowsExceededException; import jxl.format.*; import java.text.SimpleDateFormat; import java.util.*; import java.awt.Color; import jxl.write.Number; import jxl.write.Boolean; import com.cms.bean.RegUser; public class excelTest { public static List list=new ArrayList(); //输出流,X轴Y轴; 自定义关联表导出 // public static void writeExcel(OutputStream os,int x,int y,List content) throws Exception { // RegUser user=new RegUser(); // String str=""; // jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os); // jxl.write.WritableSheet ws = wwb.createSheet("Sheet", 0); // //// jxl.write.Label labelC = new jxl.write.Label(x, y,content); //// labelC = new jxl.write.Label(4, 4,content); //// // if (ws != null) { // // // 下面开始添加单元格 // for (int i = 0; i < x; i++) { // // // for (int j = 0; j < y; j++) { // // 这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行 // user=(RegUser)content.get(i); // // if(j==0){ // str=user.getUserName(); // }else if(j==1){ // str=user.getPassword(); // }else if(j==2){ // str=user.getUserContent(); // }else if(j==3){ // str=user.getFlag(); // }else if(j==4){ // str=user.getUserTime(); // }else if(j==5){ // str=String.valueOf(user.getId()); // } // // // jxl.write.Label labelC = new Label(j, i,str); // try { // // 将生成的单元格添加到工作表中 // ws.addCell(labelC); // } catch (RowsExceededException e) { // e.printStackTrace(); // } catch (WriteException e) { // e.printStackTrace(); // } // // } // } // // } // // // // /* // * 自定义单元格内样式; // */ // // jxl.write.WritableFont wfc = new // // jxl.write.WritableFont(WritableFont.ARIAL, 10, WritableFont.BOLD, // // false,UnderlineStyle.NO_UNDERLINE); // // jxl.write.WritableCellFormat wcfFC = new // // jxl.write.WritableCellFormat(wfc); // //单元格加红 // //wcfFC.setBackground(jxl.format.Colour.RED); // //labelC = new jxl.write.Label(6, 0, "中国爱我 ", wcfFC); // // // // //ws.addCell(labelC); // // 写入Exel工作表 // wwb.write(); // // 关闭Excel工作薄对象 // wwb.close(); // // } //new file () /** * 读取Excel * * @param filePath */ public static void readExcel(String filePath) { String data2=""; //DateTime tem=new DateTime(""); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); try { InputStream is = new FileInputStream(filePath); Workbook rwb = Workbook.getWorkbook(is); //Sheet st = rwb.getSheet("0")这里有两种方法获取sheet表,1为名字,而为下标,从0开始 Sheet st = rwb.getSheet("Sheet1"); int rs=st.getColumns(); int rows=st.getRows(); System.out.println("列数===>"+rs+"行数:"+rows); for(int k=0;k<rows;k++){//行 for(int i=0 ;i<rs;i++){//列 Cell c00 = st.getCell(i,k); //通用的获取cell值的方式,返回字符串 String strc00 = c00.getContents(); //获得cell具体类型值的方式 if(c00.getType() == CellType.LABEL) { LabelCell labelc00 = (LabelCell)c00; strc00 = labelc00.getString(); } //excel 类型为时间类型处理; if(c00.getType()==CellType.DATE){ DateCell dc=(DateCell)c00; strc00 = sdf.format(dc.getDate()); } //excel 类型为数值类型处理; /* if(c00.getType()==CellType.NUMBER|| c00.getType()==CellType.NUMBER_FORMULA){ NumberCell nc=(NumberCell)c00; strc00=""+nc.getValue(); }*/ //输出 System.out.println(">"+strc00); list.add(strc00); //列,行 // data2=String.valueOf(st.getCell(1,k).getContents()); // data2=data2.replace("/", "-"); // java.util.Date dt=sdf.parse(data2); // System.out.println(sdf.format(dt)); // } System.out.println(data2+"======"+list.get(k)+"========="); } //关闭 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:mm:ss"); 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("d://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) { try { Workbook rwb = Workbook.getWorkbook(file1); WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);//copy WritableSheet 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 { //读Excel excelTest.readExcel("D:/testRead.xls"); //输出Excel // File fileWrite = new File("D:/testWrite.xls"); //fileWrite.createNewFile(); //OutputStream os = new FileOutputStream(fileWrite); // excelTest.writeExcel(os); //修改Excel // excelTest.modifyExcel(new File(""),new File("")); } catch(Exception e) { e.printStackTrace(); } } }
JAVA EXCEL JAR 下载:http://download.csdn.net/source/3205282
您还没有登录,请您登录后再发表评论
自定义的一个excel文件导入导出类,支持Excel2003到2010的格式。里面也有简单的配置文件的创建。
### Java导入导出Excel知识点详解 #### 一、Jxl库概述 Jxl是一个用于Java应用程序处理Microsoft Excel文件的强大库。它提供了丰富的功能,包括读取、写入、修改Excel文件,以及支持字体、数字、日期操作等。值得...
这样的工具类使得在项目中导入导出Excel变得简单易行,只需调用相应的静态方法即可完成大部分工作。 在实际应用中,还可能需要处理其他细节,比如数据类型转换、样式设置、日期格式化、合并单元格等。同时,考虑到...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....
总的来说,jxl.jar是Java开发中处理Excel文件的得力工具,它提供了丰富的功能和简便的API,使得开发者可以高效地完成各种Excel操作任务。无论是简单的数据导入导出,还是复杂的格式定制,jxl.jar都能胜任。不过,...
导出excel业务流程: ---------------------------------------------------------- 1、用户点击按钮向服务器发送请求同时将页面数据一同发送到服务器端 2、服务器端接收请求和数据 3、经过servlet对接收到的数据...
### Java导入导出Excel操作详解 #### 一、引言 在企业级应用开发中,数据的批量导入与导出是常见的需求之一,特别是在处理大量数据时,Excel因其易用性和普及性成为首选的数据存储格式。Java作为一种广泛使用的...
一个实用的java导入导出Excel工具类,基于开源的Java Excel API(JXL)纯java类库实现,Windows和Linux系统下均可使用。 主要实现功能如下: 导出:将List转化为Excel(listToExcel)。 导入:将Excel转化为List...
此代码为java运用poi3.8插件实现运用模版导入导出复杂excel
总之,这个项目是一个完整的Java解决方案,用于处理Excel文件的导入导出,同时具备用户友好的进度条显示。它利用了Apache POI的强大功能,结合maven的依赖管理,以及可能的GUI组件,提供了高效且直观的数据操作体验...
在Java开发中,处理Excel和XML文件是一项常见的任务,特别是在数据导入导出、报表生成以及数据交换等场景。本文将详细讲解如何使用Java进行Excel和XML文件的解析及操作。 一、Excel文件处理 1. **Apache POI库**:...
jqGrid控件导入导出Excel文件,将几个jqgrid导出一份Excel多sheet文件 ,亦可多sheet的excel导入至多个jqGrid表格。
Java 实现 Excel 导入导出是指使用 Java 语言编写程序来实现将 Excel 文件中的数据导入到 Java 程序中,并将 Java 程序中的数据导出到 Excel 文件中。这种操作可以使用 Apache POI 库来实现。 POI 库简介 Apache ...
本篇将详细探讨“Java导入导出Excel”的相关知识点,主要包括Apache POI库、JExcelAPI以及使用Java 8的数据流API。 一、Apache POI库 Apache POI是一个开源项目,专门用于处理Microsoft Office格式的文件,包括...
综上所述,"SSM框架利用poi导入导出Excel文件 demo"项目展示了如何在Java Web应用中集成SSM框架,利用Apache POI库实现Excel文件与数据库之间的数据交换。通过理解这个示例,开发者可以学习到SSM框架的实战技巧以及...
导出Excel文件的过程则相反: 1. 创建新的`Workbook`实例。 2. 添加`Sheet`:使用`createSheet()`方法创建新工作表。 3. 填充数据:创建`Row`,在`Row`中创建`Cell`,并设置单元格的值。 4. 设置样式:可以调整...
相关推荐
自定义的一个excel文件导入导出类,支持Excel2003到2010的格式。里面也有简单的配置文件的创建。
### Java导入导出Excel知识点详解 #### 一、Jxl库概述 Jxl是一个用于Java应用程序处理Microsoft Excel文件的强大库。它提供了丰富的功能,包括读取、写入、修改Excel文件,以及支持字体、数字、日期操作等。值得...
这样的工具类使得在项目中导入导出Excel变得简单易行,只需调用相应的静态方法即可完成大部分工作。 在实际应用中,还可能需要处理其他细节,比如数据类型转换、样式设置、日期格式化、合并单元格等。同时,考虑到...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 ...在本文中,我们已经详细介绍了如何使用 Java POI 实现 Excel 导入导出功能,包括读取和写入 Excel 文件。
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
Excel源代码,导入导出各种工具类 <groupId>org.apache.poi <artifactId>poi <groupId>org.apache.poi <artifactId>poi-scratchpad 代码实例: String path = ""; byte[] bytes; vo.setCurrentPage(0); vo....
总的来说,jxl.jar是Java开发中处理Excel文件的得力工具,它提供了丰富的功能和简便的API,使得开发者可以高效地完成各种Excel操作任务。无论是简单的数据导入导出,还是复杂的格式定制,jxl.jar都能胜任。不过,...
导出excel业务流程: ---------------------------------------------------------- 1、用户点击按钮向服务器发送请求同时将页面数据一同发送到服务器端 2、服务器端接收请求和数据 3、经过servlet对接收到的数据...
### Java导入导出Excel操作详解 #### 一、引言 在企业级应用开发中,数据的批量导入与导出是常见的需求之一,特别是在处理大量数据时,Excel因其易用性和普及性成为首选的数据存储格式。Java作为一种广泛使用的...
一个实用的java导入导出Excel工具类,基于开源的Java Excel API(JXL)纯java类库实现,Windows和Linux系统下均可使用。 主要实现功能如下: 导出:将List转化为Excel(listToExcel)。 导入:将Excel转化为List...
此代码为java运用poi3.8插件实现运用模版导入导出复杂excel
总之,这个项目是一个完整的Java解决方案,用于处理Excel文件的导入导出,同时具备用户友好的进度条显示。它利用了Apache POI的强大功能,结合maven的依赖管理,以及可能的GUI组件,提供了高效且直观的数据操作体验...
在Java开发中,处理Excel和XML文件是一项常见的任务,特别是在数据导入导出、报表生成以及数据交换等场景。本文将详细讲解如何使用Java进行Excel和XML文件的解析及操作。 一、Excel文件处理 1. **Apache POI库**:...
jqGrid控件导入导出Excel文件,将几个jqgrid导出一份Excel多sheet文件 ,亦可多sheet的excel导入至多个jqGrid表格。
Java 实现 Excel 导入导出是指使用 Java 语言编写程序来实现将 Excel 文件中的数据导入到 Java 程序中,并将 Java 程序中的数据导出到 Excel 文件中。这种操作可以使用 Apache POI 库来实现。 POI 库简介 Apache ...
本篇将详细探讨“Java导入导出Excel”的相关知识点,主要包括Apache POI库、JExcelAPI以及使用Java 8的数据流API。 一、Apache POI库 Apache POI是一个开源项目,专门用于处理Microsoft Office格式的文件,包括...
综上所述,"SSM框架利用poi导入导出Excel文件 demo"项目展示了如何在Java Web应用中集成SSM框架,利用Apache POI库实现Excel文件与数据库之间的数据交换。通过理解这个示例,开发者可以学习到SSM框架的实战技巧以及...
导出Excel文件的过程则相反: 1. 创建新的`Workbook`实例。 2. 添加`Sheet`:使用`createSheet()`方法创建新工作表。 3. 填充数据:创建`Row`,在`Row`中创建`Cell`,并设置单元格的值。 4. 设置样式:可以调整...