在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → POI中文帮助文档

POI中文帮助文档

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:2.62M
  • 下载次数:15
  • 浏览次数:295
  • 发布时间:2020-08-31
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.pdf
  • 所需积分:2
 

实例介绍

【实例简介】
Apache POI 的中文帮助文档 pdf格式 挺有用的说
private InputStream is= null //当前的 Sheet private int currsheet /当前位置 private int currPosition / Sheet数量 private int numOfSheets / HSSFWorkbook HSSFWorkbook workbook null ∥/设置Ce之间以空格分割 private static String EXCEL_LINE_DELIMITER ∥/设置最大列数 private static int MAX EXCEL COLUMNS =64 ∥/构造函数创建一个 ExcelReader public ExcelReader(string inputfile) throws IOException, Exception i /判断参数是否为空或没有意义 if (inputfile = null l inputfile trimo) equals()t throw new IOException no input file specified ") ∥/取得文件名的后缀名赋值给 filetype this filetype= inputfile substring (inputfile lastindexof(".")+1); ∥/设置开始行为0 currPosition 0: ∥/设置当前位置为0 currsheet =0 ∥/创建文件输入沉 is= new FileInputstream(inputfile /判断文件格式 if (filetype. equalsIgnore Case( txt ))I //如果是tt则直接创建 BufferedReader读取 reader new BufferedReader(new InputstreamReader(is)); else if (filetype. equalsIgnoreCase( XIs))I ∥/如果是EXce文件则创建 HSSFWorkbook读取 workbook new HSSFWorkbook(is) ∥/设置Shee数 numOfSheets workbook getNumberofSheets(: else i throw new Exception(" File Type Not Supported); ∥/-数 readline读取文件的一行 public String readLineo throws IOException i ∥/如果是txt文件则通过 reader读取 if ( filetype. equalsIgnore( txt D)i String str reader readLine(; ∥/空行则略去,直接读取下一行 while(str, trim( equals( ))i str reader readLine return str. ∥/如果是ⅪS文件则通过PoⅠ提供API读取文件 else if (filetype. equalsignore Case( xls)i ∥/根据 curr Sheet值获得当前的shet HSSFSheet sheet workbook getsheetAt(currSheet) /判断当前行是否到但前Shet的结尾 if (curr Position >sheet. getLastRowNumo)i ∥/当前行位置清零 currPosition =0 /判是否还有 Sheet while(currsheet!= numOfSheets-1)i ∥/得到下一张 Sheet sheet= workbook. getsheetAt(currsheet 1: ∥/当前行数是否已经到达文件末尾 if (curr Position = sheet. getLastRow Numo)t ∥/当前Shee指向下一张 Sheet sHeet++ ontinue. f else i ∥/获取当前行数 int row currPosition currPosition++ ∥/读取当前行数据 return getLine(sheet, row) return null ∥/获取当前行数 int row currPosition currPosition+十 ∥/读取当前行数据 return getLine(sheet, row; return null ∥/-数 getLine返回 Sheet的一行数据 private String getline(hssFSheet sheet, int row)t /根据行数取得 Sheet的一行 HSSFRow towline sheet getRow (row) ∥/创建字符创缓冲区 String Buffer buffer= new StringBuffer ∥/获取当前行的列数 int filledColumns= rowline.getLastcellNumo: HSSFCell cell= null. ∥/循环遍历所有列 for(int i=0; i< filled Columns; i++>t /取得当前ce‖ wine. getCell((short)i) String cellvalue null if (cell != null ∥/判断当前Ce的Tpe h(cell. getCell Typeot /如果当前Cel的Type为 NUMERIC case HSSFCellCELL_TYPE_NUMERIC: i ∥/判断当前的ce是否为Date if(HSSFDateUtil is CellDateFormatted(cell)t ∥/如果是Date类型则,取得该Ce的Date值 Date date cell. getDateCellValueOi ∥/把Dae转换成本地格式的字符串 cellvalue cell getDateCellValueo). toLocaleStringo: ∥/如果是纯数字 else i ∥/取得当前Ce的数值 Integer num new Integer((int) cell getNumericCellValueo) cellvalue String, valueOf(num); prea ∥/如果当前Ce的Type为 STRIN case HSSFCell CELL TYPE STRING ∥/取得当前的Ce字符串 cellvalue = cell. getStringCellvalueo) replaceAll("I); break: ∥/默认的Ce‖值 default cellvalue f else i cellvalue ∥/在每个字段之间插入分割符 buffer append(cellvalue) append(EXCEL_LINE_ DELIMITER) ∥/以字符串返回该行的数据 return buffertostring(; // close函数执行流的关闭操作 public void closet ∥/如果is不为空,则关闭 Inputsteam文件输入流 if (is !=null)t is closed 3 catch(IoException et is null ∥/如果 reader不为空则关闭 Bufferedreader文件输入流 if (reader I= null)i try i reader. closed f catch(IoException et reader null 732 ExceReader的运行效果 下面创建一个main函数,用来测试上面的 ExcelReader类,代码如下。 代码77 public static void main( String[] args)t try ExcelReader er=new ExcelReader(c: xp.xls") String line =er readLine; while(line != null System. out. printIn (line) line=er. readLineo erclase(; Icatch(Exception eX e. printstackTraceo Iain函数先创建一个 ExcelReader类,然后调用它提供的接口 leadline,对 ⅪLS文件进行读取,打印到控制台,处理前的ⅪS文件如图7-12所示。 年三片技木统计 20113一A B分板帽 20-116112-10M 2006-11+129一因周 2+16一 图7-12处理前的ⅪS文件内容 运行main函数进行内容提取后, Eclipse的控制台输出如图7-13所示。 rollei ec tel rtie 所星204年三月技木快计 日期时手出时闻得分盐板盖 0-11-40:0010093-95人37331 00-11=60:00:00112-109辑322?60 006-11-:00:96牛1029103 0计:0演11732 0-1-1401000友341711 006-11-1601001009-99太间2919 图7-13输出结果 可以看到, Excel文件中的内容已经被成功的输出了出来 733PoI中EXce文件ce的类型 在读取每个Ce11的值的时候,通过 getCellType方法获得当前Cel的类型, 在 Excel中Cell有6种类型,如表73所示。 表7-3Ce的类型 Celltype CELL TYPE BLANK I CELL_TYPE_BOOLEAN 布尔型 CELL TYPE ERROR CELL_TYPE_FORMULA CELL TYPE STRING CELL TYPE NUMERIC 本例采用了CELL. TYPE STRING和 CELL TYPE NUMERIC类型,因为在 Excel文件 中只有字符串和数字。如果Cel1的Type为 CELL TYPE NUMERIC时,还需要进一 步判断该Ce11的数据格式,因为它有可能是Date类型,在 Excel中的Date类 型也是以 Double类型的数字存储的。 Excel中的Date表示当前时间与1900年1 月1日相隔的天数,所以需要调用 HSSFDateUtil的 isCellDateFormatted方法, 判断该Cel1的数据格式是否是 Excel Date类犁。如果是,则调用 getDateCellValue方法,返回一个Java类型的Date。 实际上 Excel的数据格式有很多,还支持用户自定义的类型,在 Excel中,选 择一个单元格然后右键选择“设置单元格格式”,在弹出的单元格格式中选中 数字”,如图7-14所 单元格福式 01 十四日 记数 日 区域e置正/区)Q 带文中国 图7-14Ecel的单元格格式 图中的数据有数值、货币、时间、口期、文本等格式。这些数据格式在POI中的 HSSFDataForma类里都有相应的定义。 HSSFDataFormat是HSSF子项目里面定义的一个类。类 HSSFDataFormat允许用户 新建数据格式类型。 HSSFDataFormat类包含静态方法 static java.lang.Stri getBuiltinFormat( short index),它可以根据编号返回内置数据类型。另外 static short getBuiltinFormat(java.lang. String format)方法则可以根据 数据类型返回其编号, static java.uti1. List getBuiltinFormats0可以返回 整个内置的数据格式列表。 在 HSSFDataformat里一共定义了49种内置的数据格式,如表7-4所示。 表7-4 HSSFDataFormat的数据格式 内置数据类型 General 0.00" #,##0 #,##000 〔$#,##0)($#,##0 $#,##0_)[Redl($井,井#0 $#,##0.00)($,##0.00) ($#,##000):[Red($#,##000 "0.0%" Oxa 0.0oE+00 Oxb ? C 【实例截图】
【核心代码】

标签:

实例下载地址

POI中文帮助文档

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警