Android/Java使用Jxl解析excel文件
来源:互联网 发布:怎么用网络连接打印机 编辑:程序博客网 时间:2024/04/24 14:21
Jxl wiki:
https://en.wikipedia.org/wiki/JXL_(API)
Jxl jar download:
http://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl/2.6.12
备份一份:
链接: https://pan.baidu.com/s/1nuEQxux 密码: 47bw
wiki中给出了一个完整的使用Jxl的demo,代码如下:
import java.io.File;import jxl.Workbook;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.Label;import jxl.write.WriteException;public class dataSheet { static Workbook wbook; static WritableWorkbook wwbCopy; static String ExecutedTestCasesSheet; static WritableSheet shSheet; public void readExcel() { try{ wbook = Workbook.getWorkbook(new File("path\\testSampleData.xls")); wwbCopy = Workbook.createWorkbook(new File("path\\testSampleDataCopy.xls"), wbook); shSheet = wwbCopy.getSheet(0); } catch(Exception e) { e.printStackTrace(); } } public void setValueIntoCell(String strSheetName,int iColumnNumber, int iRowNumber,String strData) throws WriteException { WritableSheet wshTemp = wwbCopy.getSheet(strSheetName); Label labTemp = new Label(iColumnNumber, iRowNumber, strData); try { wshTemp.addCell(labTemp); } catch (Exception e) { e.printStackTrace(); } } public void closeFile() { try { // Closing the writable work book wwbCopy.write(); wwbCopy.close(); // Closing the original work book wbook.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) throws WriteException { dataSheet ds = new dataSheet(); ds.readExcel(); ds.setValueIntoCell("sheet1", 5, 1, "PASS"); ds.setValueIntoCell("sheet1", 5, 2, "FAIL"); ds.setValueIntoCell("sheet1", 5, 3, "PASS"); ds.closeFile(); }}
这个版本的jar以及demo实际测试过,可以使用,需要注意:
(1)各个类与excel对应的关系:
Workbook:excel文件
Sheet:excel中的各个sheet,使用Workbook.getSheets()得到
Cell:excel中的某个Sheet中的一个数据单元,可以通过Sheet.getColumn(int)/getRow(int)这两个api得到某一列或者某一行的数据,返回类型是Cell[]。通过Cell.getContents()得到内容String
(2)实际使用中遇到的问题:
问题1:用一个5000+行的excel做测试,按照demo的使用方法,在一次readExcel()/closeExcel()之间读取全部的Cell,发现会有String数据丢失。怀疑是jxl内部数据处理上面没有做大数据量的优化。尝试采用窗口,每次readExcel()/closeExcel()之间读取200行数据,数据丢失问题不再出现。以后如果有时间,详细研究一下源代码。
问题2:目前我只在xls格式上调试成功,即微软excel97-2003版的格式,如果是其他版本的格式,可以“另存为xls”转化格式之后使用。 0 0
- Android/Java使用Jxl解析excel文件
- java使用jxl解析Excel
- 使用JXL导出和解析EXCEL文件
- JAVA JXL -----excel文件上传和解析
- java通过jxl解析Excel文件
- java jxl解析excel
- java,jxl解析excel
- java读取excel文件(使用jxl)
- 使用java写入excel文件 --jxl
- Java使用jxl操作Excel文件
- Java:使用jxl读取excel文件内容
- Android JUnIt Test 解析Excel文件 pio or jxl
- Android解析Excel文件(JXL)(xls格式)
- 使用JAVA EXCEL API(jxl.jar)读写excel文件
- 使用jxl,poi方式创建/解析Excel文件
- JAVA解析Excel文件的两种方式 --jxl技术
- JXL包大解析;Java程序生成excel文件和解析excel文件内容
- 使用Jxl读写excel文件
- Android关机流程源码分析
- SimpleDraweeView加载svg矢量图
- 设计模式学习笔记——装饰(Decorator)模式
- 项目中dwr的使用
- 比较好的select使用的例子
- Android/Java使用Jxl解析excel文件
- 逆向打印与销毁单链表
- 常用的一些工具类
- 使用Quartz实现项目中的任务调度
- react 的10个生命周期
- Java中对Cookie的使用
- Intellj IDEA 设置默认maven版本
- C语言中scanf、gets、fgets的区别
- hdu 2141 Can you find it?