POI 单元格】的更多相关文章

POI提供了为单元格添加条件样式的方法,但是我并没有找到获取单元格改变后样式的方法,获取到样式依旧是没有改变之前的. 比如为单元格添加条件样式用于监听单元格值是否被修改,如果单元格值被修改那么字体颜色变红. 但是即使字体变红了,POI获取字体颜色依旧是黑色的,而不是红色的.这样就无法监听到单元格的变化. 因此只能另辟蹊径,每个单元格对应一个隐藏的单元使用公式监听单元格是否被修改. 我这里是当单元格被修改时,将相应的列号添加到隐藏单元格中,分别用逗号隔开.只要读取到单元格的值遍历行数即可以得到对应…
OI 单元格合并中的CellRangeAddress 参数: CellRangeAddress(int, int, int, int) 参数:起始行号,终止行号, 起始列号,终止列号 sheet.addMergedRegion(new CellRangeAddress(len, len+1, 0, 6)); POI 单元格合并中的CellRangeAddress 参数 HSSFCellStyle cellStyle = wb.createCellStyle(); 一.设置背景色: cellSty…
最近项目中用到poi生成Excel时,用到了单元格合并,于是参考了http://www.anyrt.com/blog/list/poiexcel.html写的文章,但是其中有些地方不是很清楚,于是自己琢磨了一下,实现了功能,并在此记录一下: int index = 3 ; String lastCell = ""; String thisCell = ""; int lastRowIndex = 0; while(rs.next()){//每行 poiExcel.s…
1.单元格类型 单元格的内容决定了单元格的类型,POI中定义的7种单元格类型: 2.示例 cell_0.setCellType(CellType.STRING);//字符串 日期数据对应的单元格类型是CellType.NUMERIC,默认以浮点型数显示,显示为日期格式需要设置单元格样式DataFormat 字符型单元格内容也可以为富文本RichTextString,可以对文本多部分设置字体Font…
1: /** * Created by liuguangxin on 2018/5/16. * <p> * MergeRegion:表示excel中cell的信息,startRow与endRow表示当前cell的起始与结束行编号(base 1), * startCol与endCol同理表示列的起始与结束列编号(base 1)<p/> */ public class MergeRegion { @Override public String toString() { return &…
NPOI 单元格级别应用A HSSFWorkbook hssfworkbook = new HSSFWorkbook();//初始化一个新的HSSFWorkbook实例 //#region 1.创建一个空的Excel                ////*************************************创建一个空的Excel******************************************                ////HSSFSheet sh…
如果是Microsoft Excel 97-2003 工作表 (.xls) if(31 == cell.getCellStyle().getFillForegroundColor()) //判断单元格前景色为淡蓝色 if(10 == book.getFontAt(cell.getCellStyle().getFontIndex()).getColor()) //判断单元格字体颜色为红色 如果是Microsoft Excel 工作表 (.xlsx) if(0 == cell.getCellStyl…
当读取如图所示的excel时,显示为第1行 第1列 的内容是:合并单元格 其它在合并单元格区域内的单元格不显示 示例代码如下: import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Ce…
代码处理逻辑: 代码流程: 1.首先需要创建一个实体 用来存储 相关信息 package com.sxd.test.unusualName; public class NameEntity { private String name;//姓名 private String num;//编号 private String rsNum;//RS号 private String disease;//疾病 private String rsInfo;//rs值 public NameEntity() {…
第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工作簿命名 Workbook wb=new HSSFWorkbook(); // 定义一个新的工作簿 FileOutputStream fileOut=new FileOutputStream("c:\\用Poi搞出来的工作簿.xls"); wb.write(fileOut); fileOu…
涉及到的样式都在代码中有说明: package com.it.poiTest; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.sl.usermodel.Sheet; import org.apache.poi.ss.u…
有的时候,我们需要通过操作Apache POI,在生成Cell数据的同时,能对其生成的Cell,加上注解(comments),类似于下面的. 那么对于这种情况,我们的代码应该如何写呢? 借花献佛,我就用Apache POI官方提供的例子,然后加上一些注解,给大家看一下.本例子的测试代码是基于POI-3.12的. 执行完后,将会生成上图所示的Excel工作表单(sheet) import org.apache.poi.ss.usermodel.*; import org.apache.poi.xs…
效果图: controller层方法: /**     *      * 导出Excel报表     * @param request     * @return     *      */    @RequestMapping("/export")    @ResponseBody    public void export(HttpServletRequest request,            HttpServletResponse response, String year…
public class MergedCells { /** 测试使用的POI版本是3.1 * @param args */ public static void main(String[] args) throws IOException { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); HSSFRow row = sheet.createRow(1); HSS…
原文:http://jjw198874.blog.163.com/blog/static/1889845522011102401854234/ POI按照源单元格设置目标单元格格式 poi按照一个源单元格设置目标单元格格式,如果两个单元格不在同一个workbook, 要用 HSSFCellStyle下的cloneStyleFrom()方法, 而不能用 HSSFCell下的setCellStyle()方法.   public void copyHssfRow(HSSFRow destRow, HS…
引用:http://apps.hi.baidu.com/share/detail/17249059 POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = wb.createCellStyle(); 一.设置背景色: setBorder.setFillForeground…
Excel的book保护是很常用的,主要是不想让别人修改Excel的时候用.这样能够避免恶意随便修改数据,提高数据的可信度. 下面介绍JAVA POI来实现设置book保护: 使用HSSFSheet类的protectSheet(password)方法就可以了. 具体代码如下: package com.util; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFCell; import org.ap…
在项目中用poi合并单元格,但发现边框会有不显示的问题. 在网上搜集了答案,来记录一下. 解决方法: 将每个没用到的单元格都设空值. 例如: HSSFCell cell = row.createCell(col); cell.setCellStyle(cellStyle); cell.setCellType(HSSFCell.ENCODING_UTF_16); cell.setCellValue(new HSSFRichTextString(""));…
之前我做过一个poi到处excel数据的博客,但是,后面使用起来发现,导出的数据单元格样式都不对. 很多没有居中对齐,很多单元格的格式不对,还有就是单元格的大小不对,导致数据显示异常,虽然功能可以使用但不是很完美. 这里找到网上一个比较全面的简单设置.这么做一个记录,之后就是参考这个单元格的样式配置自己需要的格式. 官方给出的api太难了,还是看中文的吧. POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: Java代码 HSSFWorkbook wb = new…
HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); //创建一个样式 HSSFCellStyle styleBorderThin= wb.createCellStyle(); setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框 setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左…
poi合并单元格同时导出excel POI进行跨行需要用到对象HSSFSheet对象,现在就当我们程序已经定义了一个HSSFSheet对象sheet. 跨第1行第1个到第2个单元格的操作为 sheet.addMergedRegion(new Region(0,(short)0,0,(short)1)); 跨第1行第1个到第2行第1个单元格的操作为 sheet.addMergedRegion(new Region(0,(short)0,1,(short)0)); 重点注意事项: 1.单元格CELL…
一.问题描述 使用MyBatis从数据库中获取数据,然后用POI把数据填充到Excel模板中,生成最终的xls文件.把最终的xls文件转换为html文件,并返回给前台显示在Panel中. Excel模板中,除了数据点位符外,还有一些计算公式.由于这些计算公式引用的数据在模板中是点位符,所以计算单元显示为"#VALUE!".见下图: 生成Excel文件,在添加了重算的相关代码(见下文)后,计算单元格的值能够正常显示.转换为html后,这些计算单元格不会重新计算,仍然显示为"#V…
使用Apache POI生成Excel文档时,当进行单元格合并操作后,被合并的单元格边框会消失,使用如下方式可以解决. 创建方法: public void setBorderStyle(int border, CellRangeAddress region, HSSFSheet sheet, HSSFWorkbook wb){ RegionUtil.setBorderBottom(border, region, sheet, wb); //下边框 RegionUtil.setBorderLeft…
POI进行单行单行地导入的数据在网上有许多的文章,但是要导入一个具有合并单元格的excel貌似比较难找.刚好最近完成了这样的一个需求,要求导入具有合并单元格的excel: /** * 读取excel数据,调用这方法开始 * @param is * @param indexNum 至少需要多少列数据 */ public static List<Object[]> readExcelToObj(InputStream is,int indexNum) { Workbook wb = null; L…
问题 目的是要将Excel中的文字全部显示出来,可以设置对齐格式为[缩小字体填充],但是这样的话只能展示出一行数据,字体会变得很小.还有一种办法,设置对齐格式为[自动换行],然后让单元格中的字体自动调整大小. 我的实现思路是,设置单元格中的字体大小,最大10号字,最小5号字,判断优先使用大的字体:如果最小的5号字也放不下,那就只能调整模板了.关键点就是判断当前字号能否将内容完全展示在单元格中. 需要提前说明一点,我的这个方法是不精确的算法,excel设置字体的时候太强大了,不同的字体的字间距.行…
POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType()…
获取单元格的宽,即获取所在列的宽.先获取单元格所在的sheet:cell.getSheet() sheet.getColumnWidth( cell.getColumnIndex() )  单位不是像素,是1/256个字符宽度sheet.getColumnWidthInPixels( cell.getColumnIndex() )  单位是像素 获取单元格的高,即获取所在行的高.先获取单元格所在的row:cell.getRow() row.getHeight()row.getHeightInPo…
Java利用POI生成Excel强制换行 使用POI创建一个简单的   myXls.xls   文件       常用的包为   org.apache.poi.hssf.usermodel.*;   例子:       import   java.io.*;   import   org.apache.poi.hssf.usermodel.*;       public   class   ZoomSheet   {                 public   ZoomSheet()  …
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFCellStyle setBorder = wb.createCellStyle(); 一.设置背景色: setBorder.setFillForegroundColor((short) 13);// 设置背景色setBorder.setFillPattern…
http://blog.csdn.net/l081307114/article/details/46009015 http://www.cnblogs.com/dreammyle/p/5458280.html . Office2007与Office Open XML 在Office 2007之前,Office一直都是以二进制位的方式存储,但这种格式不易被其它软件拿来使用,在各界的压力下,MicroSoft于2005年发布了基于XML的ooxml开放文档标准.ooxml的xml schema强调减…