poi 和jxl的性能比较,借鉴别人的,本人没有测试过,不过感觉自己可以接收这种解释

JAVA导出EXCEL实现 阅读详情

借鉴第一个网友的:

 

目前在项目中,因为需要操作Excel,所以对相关的excel开源项目进行了了解,目前对excel的操作支持比较完善的主有两个项目:一个是POI,一个是JXL。

关于POI与JXL的大致区别为:

Jxl对中文支持非常好,操作简单,方法看名知意。

Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写

支持Excel 95-2000的所有版本

生成Excel 2000标准格式

支持字体、数字、日期操作

能够修饰单元格属性

支持图像和图表,但是这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。

缺点:效率低,图片支持部完善,对格式的支持不如POI强大

POI

1.       效率高,这点很好

2.       支持公式,宏,一些企业应用上会非常实用

3.       能够修饰单元格属性

4.       支持字体、数字、日期操作

缺点:不成熟,代码不能跨平台。

这里再补充点更细节的区别,首先是POI不提供直接的通过单元格名称获取,如excel的某个单元格是B5,那么POI获取此单元格必须按行和列的编号进行获取,方法如getCell(1,4)这样;而JXL非常简单可以直接进行获取,方法如getCell("B5")这样。

还有一点是它们都具有一个共同的特点,就是都不提供复制功能,我所说的复制是从一个xls文件里的sheet复制到另一个xls文件里(不过POI提供在一个xls文件里的sheet复制)。后来我自己实现复制的操作。也略微明白了为什么它们都不提供复制功能,一个原因就是太复杂了。

关于POI复制(JXL也一样)需要注意以下几点:

1、printSetup的复制

2、CellStyle的复制

3、单元格合并

4、单元格隐藏

5、冻结窗口

6、FontStyle和Comment

7、各种单元格的类型(如数字型、字符型、公式类型、背景颜色等)

其中Cellstyle和FontStyle的复制有个小问题需要注意,就是不能创建太多的CellStyle和FontStyle,不然复制完成后,复制文件的大小比被复制文件的大小大很多。还有打开复制文件会报“单元格字体类型太多”或者是“单元格风格太多”之类的错误信息。CellStyle和FontStyle都需要进行缓存的方式进行处理。

 

 

 

借鉴第二个网友的:

 

测试环境:

jxl包:好像是1.4 低于2.0 (忘记了)
poi:poi-3.5-FINAL-20090928.jar
环境:CPU:Pentium(R) 1.4GHZ ,1.5GB内存 MyEclipse5.0  JDK1.5
机器不行,不同电脑上跑出效果不一样,但是仍然可以窥视到POI和jxl效率

Java代码
  1. package com.jarvis.mul;      
  2.      
  3. import java.io.File;      
  4. import java.io.FileInputStream;      
  5. import java.io.FileNotFoundException;      
  6. import java.io.FileOutputStream;      
  7. import java.io.IOException;      
  8. import java.io.InputStream;      
  9. import java.util.HashMap;      
  10.      
  11. import jxl.Cell;      
  12. import jxl.LabelCell;      
  13. import jxl.Sheet;      
  14. import jxl.Workbook;      
  15. import jxl.read.biff.BiffException;      
  16.      
  17. import org.apache.poi.hssf.usermodel.HSSFCell;      
  18. import org.apache.poi.hssf.usermodel.HSSFName;      
  19. import org.apache.poi.hssf.usermodel.HSSFRow;      
  20. import org.apache.poi.hssf.usermodel.HSSFSheet;      
  21. import org.apache.poi.hssf.usermodel.HSSFWorkbook;      
  22.      
  23. /**    
  24.  * @作者 Jarvis    
  25.  * @创建日期 Dec 2, 2009    
  26.  * @版本 V 1.0    
  27.  */     
  28.      
  29. public class PoiredadXLS {      
  30.     String filepath ="E:/5.xls" ;      
  31.     public void readSpeed(){      
  32.         try {      
  33. //           创建对Excel工作簿文件的引用      
  34.             long t1 = System.currentTimeMillis();      
  35.             FileInputStream rs = new FileInputStream(filepath) ;      
  36.             HSSFWorkbook workbook = new HSSFWorkbook(rs);      
  37.             long t2 = System.currentTimeMillis();      
  38.             System.out.println("加载耗时:"+ (t2-t1));      
  39.             HashMap map = new HashMap();      
  40.             int total = workbook.getNumberOfSheets(); //获取sheet个数      
  41.             int start = 0;int end = 0 ;      
  42.             for(int i = 0 ; i < total ; i ++){      
  43.                 HSSFSheet sheet = workbook.getSheetAt(i);// 按索引获取sheet引用          
  44.                 System.out.println(sheet.getSheetName());      
  45.                 start = sheet.getFirstRowNum();  //sheet起始行索引      
  46.                 end = sheet.getLastRowNum();//sheet起结束行索引      
  47.                 int temp = 1;      
  48.                 HSSFRow row = null ;      
  49.                 HSSFCell cell1 = null ;      
  50.                 HSSFCell cell2 = null ;      
  51.                 while(temp < end){      
  52.                      row =  sheet.getRow(temp);//获取第N行表格数据      
  53.                      cell1 = row.getCell(2);//获取指定列单元格            
  54.                      cell2 = row.getCell(3);//获取指定列单元格        
  55.                      if(cell1 != null && cell1!= null){      
  56.                          map.put(cell1.toString(), cell2.toString()) ;      
  57.                      }      
  58.                      temp ++ ;      
  59.                 }      
  60.             }      
  61.         } catch (FileNotFoundException e) {      
  62.             // TODO Auto-generated catch block      
  63.             e.printStackTrace();      
  64.         } catch (IOException e) {      
  65.             // TODO Auto-generated catch block      
  66.             e.printStackTrace();      
  67.         }      
  68.      
  69.         }      
  70.     public void readExcel(){      
  71.         try {      
  72.             HashMap map = new HashMap();      
  73.             long t1 = System.currentTimeMillis();      
  74.             FileInputStream is = new FileInputStream(filepath);       
  75.             Workbook rwb = Workbook.getWorkbook(is); //         从输入流创建Workbook         
  76.             long t2 = System.currentTimeMillis();      
  77.             System.out.println("加载耗时:"+ (t2-t1));      
  78.             String[] sheetname = rwb.getSheetNames();//获取所有的sheet名称,返回一个String数组      
  79.             int sleng = sheetname.length ;      
  80.             for(int i = 0 ; i < sleng ; i ++){      
  81.                 Sheet sheet = rwb.getSheet(sheetname[i]) ;      
  82.                 System.out.println(sheetname[i]);      
  83.                 int rows = sheet.getRows();//获取表格的总行数      
  84.                 int temp = 1;      
  85.                 Cell cell1 = null ;      
  86.                 Cell cell2 = null ;      
  87.                 while(temp < rows){      
  88.                     cell1 = sheet.getCell(2, temp);//第一个参数代表列 第二个参数代表行      
  89.                     cell2 = sheet.getCell(3, temp);//第一个参数代表列 第二个参数代表行      
  90.                     if(cell1 != null && cell2 != null){      
  91.                          map.put(cell1.getContents(), cell2.getContents()) ;      
  92.                     }      
  93.                     temp ++ ;      
  94.                 }      
  95.             }      
  96.             rwb.close();//关闭工作薄 流                 
  97.         } catch (BiffException e) {      
  98.             // TODO Auto-generated catch block      
  99.             e.printStackTrace();      
  100.         } catch (IOException e) {      
  101.             // TODO Auto-generated catch block      
  102.             e.printStackTrace();      
  103.         }      
  104.     }      
  105.     public static void main(String[] args) {      
  106.         PoiredadXLS r = new PoiredadXLS();      
  107.         long s = System.currentTimeMillis();      
  108.         r.readSpeed();      
  109.         r.readExcel();      
  110.         long e = System.currentTimeMillis();      
  111.         System.out.println("总耗时:"+ (e-s));      
  112.     }      
  113.      
  114. }    
package com.jarvis.mul;   
  
import java.io.File;   
import java.io.FileInputStream;   
import java.io.FileNotFoundException;   
import java.io.FileOutputStream;   
import java.io.IOException;   
import java.io.InputStream;   
import java.util.HashMap;   
  
import jxl.Cell;   
import jxl.LabelCell;   
import jxl.Sheet;   
import jxl.Workbook;   
import jxl.read.biff.BiffException;   
  
import org.apache.poi.hssf.usermodel.HSSFCell;   
import org.apache.poi.hssf.usermodel.HSSFName;   
import org.apache.poi.hssf.usermodel.HSSFRow;   
import org.apache.poi.hssf.usermodel.HSSFSheet;   
import org.apache.poi.hssf.usermodel.HSSFWorkbook;   
  
/**  
 * @作者 Jarvis  
 * @创建日期 Dec 2, 2009  
 * @版本 V 1.0  
 */  
  
public class PoiredadXLS {   
    String filepath ="E:/5.xls" ;   
    public void readSpeed(){   
        try {   
//           创建对Excel工作簿文件的引用   
            long t1 = System.currentTimeMillis();   
            FileInputStream rs = new FileInputStream(filepath) ;   
            HSSFWorkbook workbook = new HSSFWorkbook(rs);   
            long t2 = System.currentTimeMillis();   
            System.out.println("加载耗时:"+ (t2-t1));   
            HashMap map = new HashMap();   
            int total = workbook.getNumberOfSheets(); //获取sheet个数   
            int start = 0;int end = 0 ;   
            for(int i = 0 ; i < total ; i ++){   
                HSSFSheet sheet = workbook.getSheetAt(i);// 按索引获取sheet引用       
                System.out.println(sheet.getSheetName());   
                start = sheet.getFirstRowNum();  //sheet起始行索引   
                end = sheet.getLastRowNum();//sheet起结束行索引   
                int temp = 1;   
                HSSFRow row = null ;   
                HSSFCell cell1 = null ;   
                HSSFCell cell2 = null ;   
                while(temp < end){   
                     row =  sheet.getRow(temp);//获取第N行表格数据   
                     cell1 = row.getCell(2);//获取指定列单元格         
                     cell2 = row.getCell(3);//获取指定列单元格     
                     if(cell1 != null && cell1!= null){   
                         map.put(cell1.toString(), cell2.toString()) ;   
                     }   
                     temp ++ ;   
                }   
            }   
        } catch (FileNotFoundException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
  
        }   
    public void readExcel(){   
        try {   
            HashMap map = new HashMap();   
            long t1 = System.currentTimeMillis();   
            FileInputStream is = new FileInputStream(filepath);    
            Workbook rwb = Workbook.getWorkbook(is); //         从输入流创建Workbook      
            long t2 = System.currentTimeMillis();   
            System.out.println("加载耗时:"+ (t2-t1));   
            String[] sheetname = rwb.getSheetNames();//获取所有的sheet名称,返回一个String数组   
            int sleng = sheetname.length ;   
            for(int i = 0 ; i < sleng ; i ++){   
                Sheet sheet = rwb.getSheet(sheetname[i]) ;   
                System.out.println(sheetname[i]);   
                int rows = sheet.getRows();//获取表格的总行数   
                int temp = 1;   
                Cell cell1 = null ;   
                Cell cell2 = null ;   
                while(temp < rows){   
                    cell1 = sheet.getCell(2, temp);//第一个参数代表列 第二个参数代表行   
                    cell2 = sheet.getCell(3, temp);//第一个参数代表列 第二个参数代表行   
                    if(cell1 != null && cell2 != null){   
                         map.put(cell1.getContents(), cell2.getContents()) ;   
                    }   
                    temp ++ ;   
                }   
            }   
            rwb.close();//关闭工作薄 流              
        } catch (BiffException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
    }   
    public static void main(String[] args) {   
        PoiredadXLS r = new PoiredadXLS();   
        long s = System.currentTimeMillis();   
        r.readSpeed();   
        r.readExcel();   
        long e = System.currentTimeMillis();   
        System.out.println("总耗时:"+ (e-s));   
    }   
  
}  






测试数据和结果如下:

文件              POI加载耗时  POI总耗时    JXL加载耗时  Jxl总耗时   
文件大小57KB          1172 ms    1172 ms      1265 ms      2250 ms
100行数据

文件大小652KB      2297 ms        2313 ms      4406 ms      9750 ms
1000行数据

文件大小2.24M      3109ms        3140ms      16313ms        37453ms
大约6000行数据

 

 

 

java操作excel——jxl和poi比较 项目代码 博文链接:https://lanhuidong.iteye.com/blog/1553532 立即下载

相关推荐

JExcelAPI与Apache POI两者对比

JExcelAPI与Apache POI两者对比

jxl和poi的对比及简单使用

1. 内存消耗对比 定量:数据量3000条,每条60列,JVM大小64M 使用jxl:3000条全部出来,并且内存还有21M的空间 使用poi:运行到2800条左右就内存溢出 2. 速度效率(读取Excel数据)数据来自网络 文件大小 jxl加载耗时 jxl总耗时 poi加载耗时 poi总耗时 57kb 1265ms 2250ms 1172ms 1172ms 652kb 4406ms 9750ms 2297ms 2313ms 2.24M 16313ms 37453ms 3109ms

兀行者的博客 2345

java报表JXL和POI打印设置 java 生成excel 设置打印

java报表JXL和POI打印设置 设置打印,非常好用 一般文档没有 绝版

java 处理表格工具JXL与POI

一、简介 在日常工作中我们常常用到Excel来存储二维数据表格。我们在做数据分析的时候,通过使用python语言来操作表格数据。如果我们在java开发中用到表格处理,又该如何解决呢?java目前为我们提供了两种比较好的处理工具,分别为:jxl和poi。 二、JXL与POI的使用 (一)jxl jxl,通过java操作excel表格的工具类库。支持Excel 95-2000的所有版本,能够修饰单元格...

weixin_43166227的博客 934

jxls导出模板

jxls功能的开发,关于自定义模板和数据封装,已经数据生成

JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl

JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl

POI与JXL的比较

POI与JXL的比较

分布式应用与服务器架构专栏 5186

AppleAccount注册之生成sign

根据日志发现:签名来自于AuthKit的-[AKAppleIDServerResourceLoadDelegate signRequest:withCompletionHandler:]的一个block,这个库是放在共享缓存库里的,找到提前准备好的IDA文件,先去找主方法,根据分析IDA,最后找到了实际生成签名的方法:t1。,接受五个参数,context(之前讲的获取到的客户端证书),bytes(待加密的body字节),length(字节长度),以及两个接受结果的参数,直接进这个方法看,

2503_90751938的博客 1006

JAVA 处理 Excel 的两种常见方法 —— JXL(Workbook)和 POI(HSSFWorkbook、XSSFWorkbook)

(1)HSSFWorkbook 介绍HSSFWorkbook 是操作Excel2003以前(包括2003)的版本,扩展名是.xls(2)常用组件HSSFWorkbook excel的文档对象HSSFSheet excel的表单HSSFRow excel的行HSSFCell excel的格子单元HSSFFont excel字体HSSFDataFormat 日期格式HSSFHeader sheet头HSSFFooter sheet尾(只有打印的时候才能看到效果)(3)样式。

空名先生 3967

实测对比:DINOv2、CLIP、ResNet在图像相似度任务上谁更强?(含Python代码与避坑指南)

本文通过实测对比DINOv2、CLIP和ResNet在图像相似度任务中的表现,提供Python代码实现与避坑指南。实验结果显示,DINOv2在精度上表现最佳,CLIP在多模态场景中优势明显,而ResNet则在计算效率上更优。文章还针对不同业务场景给出了具体选型建议,帮助开发者在图像搜索和版权检测等项目中做出更明智的技术决策。

weixin_30588381的博客 286

Miniconda3迁移(附图详细过程)

服务器上目录占满,想要将conda迁移到其他目录下的操作方法,详细教程。

2301_77554343的博客 6942

jxl和POI的区别

首先从优缺点上来说   一、jxl 优点: Jxl对中文支持非常好,操作简单,方法看名知意。Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写支持Excel 95-2000的所有版本(网上说目前可以支持Excel2007了,还没有尝试过)生成Excel 2000标准格式支持字体、数字、日期操作能够修饰单元格属性支持图像和图表,但是这

u011498933的专栏 4440

Linux初级介绍之番外篇:Linux挂载windows中的共享目录

挂载windows共享目录Windows端共享权限设定解禁Guest设置共享目录权限Linux挂载端扫描共享目录挂载共享目录遇到错误的解决方案 Windows端共享权限设定 解禁Guest 右击我的电脑选择管理–>本地用户和组–>在用户项中双击Guest用户–>取消账号已禁用选项 设置共享目录权限 右击共享目录点属性–>在共享页面中点击共享选项–>下拉选择共享对象为Everyone–>点击共享按钮 3.设置本地策略 打开命令框–>输入secpol.msc–&gt

m0_53497201的博客 228

jxl和poi生成excel的对比

POI为apache公司的一个子项目,主要是提供一组操作windows文档的Java API. Java Excel俗称jxl是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、S

业精于勤荒于嬉;行成于思,毁于随。 1433

【2025CSPJ普及组】T4. 多边形

【2025CSPJ普及组】T4. 多边形【题目描述】小 R 喜欢玩小木棍。小 R 有 n 根小木棍,第i(1≤i≤n) 根小木棍的长度为 ai。

lybc2019的博客 849

【基础-多选】HarmonyOS鸿蒙应用开发

1、HarmonyOS提供了基础的应用加固安全能力,包括混淆、加密和代码签名能力。正确2、可以通过ohpm uninstall 指令下载指定的三方库。错误3、支持模块化开发是指一个应用通常会包含多种功能,将不同的功能特性按模块来划分和管理是一种良好的设计方式。在开发过程中,我们可以将每个功能模块作为一个独立的Module进行开发,Module中可以包含源代码、资源文件、第三方库、配置文件等,每一个Module可以独立编译,实现特定的功能。这种模块化、松耦合的应用管理方式有助于应用的开发、维护与扩展。正确。

江拥羡橙的博客 1万+

java操作Excel一:POI与JXL的比较

之前涉及到Excel文件操作

高傲的土豆 507

【Google Play 上架】内部 / 封闭 / 开放 测试全解 — “只跑一个就能上架”?不行!

Google Play新规要求个人开发者账号在2023年11月13日后必须通过封闭测试(Closed testing)才能上架应用。封闭测试需要至少12名测试者连续14天保持参与状态,而内部测试和开放测试不能替代这一要求。三类测试轨道各有特点:内部测试用于快速内部验证,封闭测试是上架必经环节,开放测试面向更广泛用户但非必需。上架流程建议先内部测试修复问题,再启动封闭测试满足14天要求,最后申请生产发布。组织账号和早期个人账号可能不受此限制。开发者应提前规划测试人群,确保持续测试周期,并关注Play Cons

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 2799

MySQL绘制POI的实体图_Apache POI对象结构图及Demo

1 对象结构图结构看,这个设计是合理的;将2003、2007的不同实现通过接口连接起来;但是,在写demo的时候感觉相对JXL,POI更难以上手;JXL小巧,简单,好用;特别是对单元格复制的时候、还有选择单元格等;POI不支持复用已有的格式,而JXL只要newWritableCellFormat(cells.getCellFormat())将读取的格式转换为写入的格式即可;当然,根本原因不是因为P...

weixin_39541869的博客 180

k3s cpu load 和 cpu 使用率很高处理

在这期间还执行过缩减 sqlite3 数据库操作,不知道是哪个操作起了作用,亦或者两个操作有影响,删除 ns 促进了数据库缩减的执行(没删除之前数据库缩减不成功,db文件大小未减小,但不确定是不是执行完 VACUUM 之后需要时间 db 文件才会减小,或者是因为删除了 ns 才导致其减小),再或者是两个操作都起了作用。kubectl get ns 发现有很多卡在删除状态的 ns。k3s 官网关于这个问题的谈论。执行如下脚本删除掉这些 ns。有人详细说过这个问题。

weixin_40548182的博客 683

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java 修改保存excel_java Excel 工具(修改excel表格并保存)

最近搞excel,用到JXL 。然后读写的时候遇到问题 -- jxl竟然修改一个excel还要先读入再copy,然后才能再那份copy上修改,囧;更囧的是copy以后是2份内存啊~偶的机器直接outofmemory。。。加了-xmx128m才勉强过去,为撒这么不人性化。。。记得以前好像大家都使用 POI的,故google之 ,发现版本已经升级到3.6轰轰~下下来,运行找不到类WorkbookFac...

weixin_35886058的博客 1527

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java jxl 创建excel_利用java jxl 创建,读取,更新excel文档

用JAVA 读写 EXCEL,在网上查看,很多人会用 POI 方式,个人试用结果,感觉并不是那么好用。其实还有一个组件,jxl ,用 jxl 也可以很方便的完成 excel 文档的读写操作。jxl 的下载地址: http://www.andykhan.com/jexcelapi/index.html将下载的JAR 包添加到工程的path中。然后就可以写测试程序了1. 生成一个excel文档2. 读...

weixin_33585889的博客 288

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

工业嵌入式系统电源路径保护设计实战

电子保险丝(eFuse)是一种集成过流、过压、反向电流和热保护功能的智能电源开关,其核心价值在于硬件级响应确定性与微秒级故障隔离能力。相比传统保险丝或分立MOSFET方案,eFuse通过内置模拟检测电路实现无需MCU干预的实时保护,显著提升系统鲁棒性。在资源受限的工业嵌入式场景中,它常与低功耗MCU协同构成‘硬件守门+软件诊断’双闭环架构,既满足IEC 61000-4-x等严苛EMC要求,又支持I²C可编程配置与故障锁存,适用于PLC、电机驱动、轨道信号等宽温、长寿命、高可靠应用。本文以TPS259483A

weixin_34252090的博客 245

jxl操作excel

jxl操作excel文件的方法 最后的“进阶操作”确实很有用处,笔者感觉文档写到这里以后把以前很多不明白的东西搞清楚了,豁然开朗啊。建议仔细看看“数据格式”、“方法字典”和“其他讲解”三章,含金量很高。 文中附带代码,可读性很高,具有代表性,可以直接拿来用,不过其中一些适配字段要自己填。 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵E

让我们的手指敲起锋利的代码勇敢前进! 2953

java jxl生成报表_使用jxl生成复杂报表的分析与设计(一)

在实际项目中,特别是企业应用开发中,报表开发是其中很重要的一项功能,基本上都会要求将统计数据导出成Excel,不但如此,这些报表格式一般也比较复杂,尤其是显示的数据,往往都是很多业务数据综合而成的结果。大象根据自己以往做报表的经验,进行了一下总结,给刚开始做报表开发或是有需要的朋友一点借鉴。由于大象以前做的报表距离现在时间已经很久了,有些相关的业务数据已经找不到,再加上这些数据涉及商业机密也不便公...

weixin_39850331的博客 415

Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别...

在上一篇博客中我们介绍了利用Apache开源项目POI实现数据库数据导出excel报表的知识。其实在Java世界里,有两套成熟的开源工具支持对Excel文件的操作:一个是ApachePOI;另一个则是本文将要介绍的JavaExcelAPI。ApachePOI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对MicrosoftOffice格式档案读/写功能。该项...

红太阳照大地 134
上一篇: DB2 SQL error: SQLCODE: -302, SQLSTATE: 22001, SQLERRMC: null
下一篇: java 读取 properties文件的各种方法
java_min
博客等级 码龄18年 61粉丝 161原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值