poi-3.11-beta2-20140822.jar操作excel方法

根据不同类型读取值的方法:
  1. // 获取单元格内不同类型的值
  2. public String getValueByType(HSSFCell cell) {
  3. String value = "";
  4. if (cell != null) {
  5. switch (cell.getCellType()) {
  6. case HSSFCell.CELL_TYPE_STRING:
  7. value = cell.getStringCellValue();
  8. break;
  9. case HSSFCell.CELL_TYPE_NUMERIC:
  10. if (HSSFDateUtil.isCellDateFormatted(cell)) {
  11. Date date = cell.getDateCellValue();
  12. if (date != null) {
  13. value = new SimpleDateFormat("yyyy-MM-dd").format(date);
  14. } else {
  15. value = "";
  16. }
  17. } else {
  18. value = new DecimalFormat("0").format(cell
  19. .getNumericCellValue());
  20. }
  21. break;
  22. case HSSFCell.CELL_TYPE_FORMULA:
  23. // 导入时如果为公式生成的数据则无值
  24. if (!cell.getStringCellValue().equals("")) {
  25. value = cell.getStringCellValue();
  26. } else {
  27. value = cell.getNumericCellValue() + "";
  28. }
  29. break;
  30. case HSSFCell.CELL_TYPE_BLANK:
  31. break;
  32. case HSSFCell.CELL_TYPE_ERROR:
  33. value = "";
  34. break;
  35. case HSSFCell.CELL_TYPE_BOOLEAN:
  36. value = (cell.getBooleanCellValue() == true ? "Y" : "N");
  37. break;
  38. default:
  39. value = "";
  40. }
  41. } else {
  42. value = "";
  43. }
  44. return value;
  45. }
  46.  
  47. /**
  48. *
  49. * 去掉字符串右边的空格
  50. *
  51. * @param str
  52. * 要处理的字符串
  53. *
  54. * @return 处理后的字符串
  55. */
  56. public String rightTrim(String str) {
  57. if (str == null) {
  58. return "";
  59. }
  60. int len = str.length();
  61. for (int i = len - 1; i >= 0; i--) {
  62. if (str.charAt(i) != 0x20) {
  63. break;
  64. }
  65. len--;
  66. }
  67. return str.substring(0, len);
  68. }

一些操作excel的常用方法:

工作空间(获取行):
  1. getSheetAt(int i);// 根据编号获取excel的工作空间 HSSFSheet
  1. getSheet(String arg0);// 根据工作空间名获取工作空间 HSSFSheet

在工作空间中是按行读取的,

获取行的方法
  1. row.getLastRowNum() 获取最后有值的行号(从0开始)
  1. row.getRow(int i)获取指定编号的行

获取单元格的方法

  1. getLastCellNum() 获取最后有值的单元格编号(从0开始)
  1. getCell(int i)// 获取指定编号的单元格




如何使用这些方法:
  1. File file = new File("E://dic_item.xls");
  2. BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
  3. // 打开HSSFWorkbook
  4. POIFSFileSystem fs = new POIFSFileSystem(in);
  1. HSSFWorkbook wb = new HSSFWorkbook(fs);wb.getSheetAt(4);
  1.  

poi-3.11-beta2-20140822.jar操作excel方法的更多相关文章

  1. C++ builder 操作Excel方法(据网上资料整理)

    c++ builder 操作Excel方法,下面是从网上找到的一些不错的方法,学习一下: 用OLE操作Excel(目前最全的资料)(04.2.19更新) 本文档部分资料来自互联网,大部分是ccrun( ...

  2. Python openpyxl、pandas操作Excel方法简介与具体实例

    本篇重点讲解windows系统下 Python3.5中第三方excel操作库-openpyxl: 其实Python第三方库有很多可以操作Excel,如:xlrd,xlwt,xlwings甚至注明的数据 ...

  3. 使用jxl.jar操作Excel

    在工程的build path中添加jxl.jar,网址:http://www.andykhan.com/jexcelapi/ import java.io.BufferedReader; import ...

  4. java使用Apache POI操作excel文件

    官方介绍 HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is ...

  5. POI操作Excel的API注意点总结

    本篇是关于POI.jar操作Excel的API注意事项 基数问题 说明:我使用的是POI 3.15版本的,在版本问题上建议大家,在版本稳定的基础上尽量使用高版本的 看过很多帖子在问一个问题:假设原来有 ...

  6. python用openpyxl操作excel

    python操作excel方法 1)自身有Win32 COM操作office但讲不清楚,可能不支持夸平台,linux是否能用不清楚,其他有专业处理模块,如下 2)xlrd:(读excel)表,xlrd ...

  7. C# 如何使用NPOI操作Excel以及读取合并单元格等

    C#操作Excel方法有很多,以前用的需要电脑安装office才能用,但因为版权问题公司不允许安装office.所以改用NPOI进行Excel操作,基本上一些简单的Excel操作都没有问题,读写合并单 ...

  8. Java操作Excel(使用POI)

    背景说明 以前写过使用 JXL 操作Excel的例子,但JXL对于Excel 2007版本以后的文件(即扩展名为 .xlsx)无法读取,也找不到可以支持的包.所以,有时不得不用 POI 来操作Exce ...

  9. POI操作Excel(xls、xlsx)

    阿帕奇官网:http://poi.apache.org/ POI3.17下载:http://poi.apache.org/download.html#POI-3.17 POI操作Excel教程(易百教 ...

随机推荐

  1. 我的VisualStudio工具箱

    代码神器 ReSharper 毫无疑问,我认为R#是目前VS插件中有史以来最强大的,各种快捷生成代码的方式, 代码重构, 很多很多的快捷键支持.相比较原生VS的,VS的智能功能简直弱爆了. dimec ...

  2. some websit

    Baidu:VideoView onVideoSizeChanged http://code.taobao.org/p/TangHuZhao/src/ http://code.taobao.org/p ...

  3. lucene_indexWriter说明、索引库优化

    IndexWriter Hibernate的SessionFactory 在Hibernate中.一般保持一个数据库就仅仅有一个SessionFactory.由于在SessionFactory中维护二 ...

  4. 三大文本处理工具grep、sed及awk的简单介绍

    grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更 ...

  5. 操作cookie

    $.extend($, { setCookie: function(c_name, value, expiredays) { var exdate = new Date(); exdate.setDa ...

  6. c#_自动化测试 (五) 读写64位操作系统的注册表

    非Web程序(桌面程序)的设置一般都存在注册表中. 给这些程序做自动化测试时, 需要经常要跟注册表打交道. 通过修改注册表来修改程序的设置. 本章介绍如何利用C#程序如何操作注册表, 特别是如何操作6 ...

  7. mysql查询更新时的锁表机制分析

    为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制. 一.概述 MySQL有三种锁的级别:页级.表级.行级.MyISAM和MEMORY存储引擎采用的是表级锁(t ...

  8. tar --help

    pengdl@debian:~/test$ mkdir test1 pengdl@debian:~/test$ mkdir test2 pengdl@debian:~/test$ tar -xzf p ...

  9. c盘太小

    C:\Users\Administrator\AppData\Roaming\Apple Computer

  10. linux用户及组管理

    useradd      添加用户 passwd       修改用户密码 userdel       删除用户,默认不删除用户主目录和email,如果想删除可加 –r 参数 groupadd   添 ...