用到了jxl.jar和poi.jar

一些基本的操作Excel的操作方法:

  1. import java.io.File;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. import jxl.Cell;
  10. import jxl.Workbook;
  11.  
  12. import org.apache.log4j.Logger;
  13. import org.apache.poi.hssf.usermodel.HSSFCell;
  14. import org.apache.poi.hssf.usermodel.HSSFCellStyle;
  15. import org.apache.poi.hssf.usermodel.HSSFFont;
  16. import org.apache.poi.hssf.usermodel.HSSFRow;
  17. import org.apache.poi.hssf.usermodel.HSSFSheet;
  18. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  19. import org.apache.poi.hssf.util.HSSFColor;
  20. import org.dom4j.Document;
  21. import org.dom4j.DocumentException;
  22.  
  23. import com.chinadigitalvideo.hibernate.Provider;
  24. import com.chinadigitalvideo.service.ProviderMgr;
  25. import com.chinadigitalvideo.utils.bean.App_Data;
  26. import com.chinadigitalvideo.xbase.GUID;
  27.  
  28. public class POIExcelHelper {
  29. public static Logger logger = Logger.getLogger(POIExcelHelper.class);
  30.  
  31. /**
  32. * 设置表头样式
  33. * @param workbook
  34. * @return
  35. */
  36. public static HSSFCellStyle getTitleStyle(HSSFWorkbook workbook) {
  37. HSSFFont font = workbook.createFont();
  38. font.setColor(HSSFColor.BLUE.index);
  39. font.setFontHeight((short) 200);
  40. font.setFontName("楷体_GB2312");
  41. font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
  42.  
  43. HSSFCellStyle style = workbook.createCellStyle();
  44. style.setAlignment(HSSFCellStyle.VERTICAL_CENTER);
  45. style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
  46. style.setFont(font);
  47. style.setFillForegroundColor(HSSFColor.GREY_50_PERCENT.index);
  48. style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
  49. return style;
  50. }
  51.  
  52. /**
  53. * 设置表格特别数据样式
  54. * @param workbook
  55. * @return
  56. */
  57. public static HSSFCellStyle getDataStyle2(HSSFWorkbook workbook) {
  58. HSSFFont font = workbook.createFont();
  59. font.setColor(HSSFColor.BLACK.index);
  60. font.setFontHeight((short) 200);
  61. font.setFontName("楷体_GB2312");
  62.  
  63. HSSFCellStyle style = workbook.createCellStyle();
  64. style.setAlignment(HSSFCellStyle.VERTICAL_CENTER);
  65. style.setAlignment(HSSFCellStyle.ALIGN_LEFT);
  66. style.setFont(font);
  67. style.setFillForegroundColor(HSSFColor.GREY_40_PERCENT.index);
  68. style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
  69. return style;
  70. }
  71.  
  72. /**
  73. * 创建单元格内容
  74. * @param row
  75. * @param id
  76. * @param value
  77. * @param style
  78. */
  79. @SuppressWarnings("deprecation")
  80. public static void createCell(HSSFRow row, int id, String value, HSSFCellStyle style) {
  81. HSSFCell cell = row.createCell((short) id);
  82. cell.setCellType(HSSFCell.CELL_TYPE_STRING);
  83. cell.setCellValue(value);
  84. if (style != null) {
  85. cell.setCellStyle(style);
  86. }
  87. }
  88.  
  89. /**
  90. * 创建报表文件
  91. * @param workbook
  92. * @param dir
  93. * @param filename
  94. * @throws IOException
  95. */
  96. public static void createFile(HSSFWorkbook workbook, String dir, String filename)
  97. throws IOException {
  98. dir = dir == null ? "" : dir.trim();
  99. if( !"".equals(dir) ){
  100. if( !dir.endsWith(File.separator) ){
  101. dir += File.separator ;
  102. }
  103. }
  104. logger.debug("out put dir: " + dir);
  105. File outdir = new File(dir);
  106. if (!outdir.exists()) {
  107. outdir.mkdirs();
  108. }
  109. FileOutputStream fOut = new FileOutputStream(dir + filename);
  110. workbook.write(fOut);
  111. fOut.flush();
  112. fOut.close();
  113. logger.info(dir + filename + "已经生成!");
  114. }
  115.  
  116. /**
  117. * 读取Excel中所有的列
  118. * @param filename
  119. * @return
  120. * @throws IOException
  121. */
  122. private static List<Cell[]> jxlGetExcelColumns(String filename) throws IOException {
  123. InputStream is = null;
  124. jxl.Workbook rwb = null;
  125. List<Cell[]> list = new ArrayList<Cell[]>();
  126. try {
  127. is = new FileInputStream(filename);
  128. rwb = Workbook.getWorkbook(is);
  129. // Sheet[] sheets = rwb.getSheets();
  130. // int sheetLen = sheets.length;
  131. jxl.Sheet rs = rwb.getSheet(0); // 读取第一个工作表的数据
  132.  
  133. //getRows() 获取总共多少列...getColumn(n)获取第n列...
  134. for(int i=0; i<rs.getColumns(); i++ ){
  135. list.add(rs.getColumn(i));
  136. }
  137. } catch (Exception ex) {
  138. ex.printStackTrace();
  139. } finally {
  140. rwb.close();
  141. is.close();
  142. }
  143. return list;
  144. }
  145.  
  146. /**
  147. * 读取Excel中所有的行
  148. * @param filename
  149. * @return
  150. */
  151. private static List<Cell[]> jxlGetExcelRows(String filename) {
  152. InputStream is = null;
  153. jxl.Workbook rwb = null;
  154. List<Cell[]> list = new ArrayList<Cell[]>();
  155. try {
  156. is = new FileInputStream(filename);
  157. rwb = Workbook.getWorkbook(is);
  158. // Sheet[] sheets = rwb.getSheets();
  159. // int sheetLen = sheets.length;
  160. jxl.Sheet rs = rwb.getSheet(0); // 默认先读取第一个工作表的数据
  161.  
  162. //getRows() 获取总共多少行...getRow(n)获取第n行...
  163. for(int i=0; i<rs.getRows(); i++ ){
  164. list.add(rs.getRow(i));
  165. }
  166. } catch (Exception ex) {
  167. ex.printStackTrace();
  168. } finally {
  169. rwb.close();
  170. try {
  171. is.close();
  172. } catch (IOException e) {
  173. e.printStackTrace();
  174. }
  175. }
  176. return list;
  177. }
  178. }

Java POI操作Excle工具类的更多相关文章

  1. 自己封装的poi操作Excel工具类

    自己封装的poi操作Excel工具类 在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完 ...

  2. java里poi操作Excel工具类【我改】

    参考原文: https://www.cnblogs.com/yizhang/p/7244917.html 我改: package test; import java.io.File; import j ...

  3. Java 借助poi操作PDF工具类

    ​ 一直以来说写一个关于Java操作PDF的工具类,也没有时间去写,今天抽空写一个简单的工具类,拥有PDF中 换行,字体大小,字体设置,字体颜色,首行缩进,居中,居左,居右,增加新一页等功能,如果需要 ...

  4. Redis操作Set工具类封装,Java Redis Set命令封装

    Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...

  5. Redis操作List工具类封装,Java Redis List命令封装

    Redis操作List工具类封装,Java Redis List命令封装 >>>>>>>>>>>>>>>> ...

  6. java中文件操作的工具类

    代码: package com.lky.pojo; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...

  7. Java操作Redis工具类

    依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...

  8. 自己的包poi操作Excel工具

    在前面的文章<使用poi读写Excel>中分享了一下poi操作Excel的简单演示样例.这次要分享一下我封装的一个Excel操作的工具类. 该工具类主要完毕的功能是:读取Excel.汇总E ...

  9. 在java poi导入Excel通用工具类示例详解

    转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36   作者:daochuwenziyao   我要评论   这篇文章主要给大家介绍了关于在j ...

随机推荐

  1. Firefox 设置技巧

    在Firefox地址栏中输入“about:cache”并键入回车,接着将显示Firefox的内存缓冲设置与磁盘高速缓存设置.如果在页面上单击“List Cache Entries”链接,我们还可以查看 ...

  2. CSS line-height 和 vertical-align 精解(上篇)

    声明本文转自:http://hi.baidu.com/wolongxzg/item/a39ef8299c984283af48f5b0 line-height属性的具体定义列表如下: 语法: line- ...

  3. 《Secrets of the JavaScript Ninja》:JavaScript 之运行时代码

    最近,在阅读 jQuery 之父 John Resig 力作:Secrets of the JavaScript Ninja(JavaScript忍者秘籍).关于第九章提及的 JavaScript 之 ...

  4. mvc api odata 查询选项之 $inlinecount ,$format 选项

    网上百度“odata 语法”会出来很多结果,其中有一项是比较一致的,那就是odata支持一下几种语法: $filter  条件表达式 -- 对应sql语句的where条件查询,如:/Categorie ...

  5. cocos2d-x (Android)之-那些常见的error记

    转自:http://blog.csdn.net/callchunli/article/details/8929813 (2013/9/2) build.xml:939: java.lang.Array ...

  6. Qt中的 Size Hints 和 Size Policies

    sizeHint 这个属性所保存的 QSize 类型的值是一个被推荐给窗口或其它组件(为了方便下面统称为widget)的尺寸,也就是说一个 widget 该有多大,它的一个参考来源就是这个 sizeH ...

  7. Uva10474 - Where is the Marble?

      两种解法: 1.计数排序 //计数排序 #include<cstdio> #include<iostream> #include<vector> #includ ...

  8. (高精度运算4.7.27)UVA 10494 If We Were a Child Again(大数除法&&大数取余)

    package com.njupt.acm; import java.math.BigInteger; import java.util.Scanner; public class UVA_10494 ...

  9. ntoskrnl.exe损坏或丢失的解决方式

    同事的电脑启动时出现下面提示:"因下面文件损坏或丢失Windows无法启动 %systemroot%\system32\ntoskrnl.exe,请又一次安装以上文件的拷贝"(Wi ...

  10. 性能监视器(SSAS)

    使用性能监视器,您可以通过性能计数器监视 Microsoft SQL Server Analysis Services (SSAS) 实例的性能. 性能监视器是用于跟踪资源使用情况的 Microsof ...