`
zzc1684
  • 浏览: 1224869 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

poi设置行高列宽

    博客分类:
  • poi
 
阅读更多

前些天写了一篇用POI导出Excel遇到的一个怪异的问题,今天有用到了POI但是这次不适合用模板,所有的布局都是用程序来完成的。所以有遇到了些意想不到的问题。其实就两个问题,设置行高和设置列宽。
         首先我查看了POI3.0的API发现HSSFRow对象有setHeight(short height)方法,我就写了点测试代码

poi设置行高列宽poi设置行高列宽    public static void main(String[] args) poi设置行高列宽{
poi设置行高列宽poi设置行高列宽        
try poi设置行高列宽{
poi设置行高列宽            HSSFWorkbook wb 
= new HSSFWorkbook();
poi设置行高列宽            HSSFSheet sheet 
= wb.createSheet();
poi设置行高列宽            HSSFRow row 
= sheet.createRow(0);
poi设置行高列宽            row.setHeight((
short25);//目的是想把行高设置成25px
poi设置行高列宽
            FileOutputStream fileOut = new FileOutputStream("c://a.xls");
poi设置行高列宽            wb.write(fileOut);
poi设置行高列宽            fileOut.close();
poi设置行高列宽        }

poi设置行高列宽poi设置行高列宽        
catch (Exception e) poi设置行高列宽{
poi设置行高列宽            e.printStackTrace();
poi设置行高列宽        }

poi设置行高列宽    }

打开a.xls发现结果不是我想要的,第一行的高度都没有,没有报错说明代码有问题,为什么回没有高度呢?是不是单位不一样呢?我把row.setHeight((short) 25);改成了row.setHeight((short) 250);结果发现第一行出来了,但是这是怎么一个换算关系呢?我查看了一下导出的Excel第一行高是16像素,换算一下得出row.setHeight((short) 15.625);表示行高为一个像素,那么想设成几个像素就好做了。比如
row.setHeight((short) (15.625*n));//n为行高的像素数。
其实在API中还有一个HSSFRow 对象还有一个设置行高的函数setHeightInPoints(float height);这个函数中参数就是行高的像素数,比setHeight函数要方便多了。
行高设置完成了,接下来设置列宽

poi设置行高列宽poi设置行高列宽    public static void main(String[] args) poi设置行高列宽{
poi设置行高列宽poi设置行高列宽        
try poi设置行高列宽{
poi设置行高列宽            HSSFWorkbook wb 
= new HSSFWorkbook();
poi设置行高列宽            HSSFSheet sheet 
= wb.createSheet();
poi设置行高列宽            HSSFRow row 
= sheet.createRow(0);
poi设置行高列宽            row.setHeight((
short250);
poi设置行高列宽            sheet.setColumnWidth((
short0, (short250);
poi设置行高列宽            FileOutputStream fileOut 
= new FileOutputStream("c://a.xls");
poi设置行高列宽            wb.write(fileOut);
poi设置行高列宽            fileOut.close();
poi设置行高列宽        }

poi设置行高列宽poi设置行高列宽        
catch (Exception e) poi设置行高列宽{
poi设置行高列宽            e.printStackTrace();
poi设置行高列宽        }

poi设置行高列宽    }

接下来说说sheet.setColumnWidth((short) 0, (short) 250);
第一个参数表示要为第几列设置,第二个参数表示列的宽度,看看上面的代码按说第一行第一列的单元格形状应该是个正方形,因为宽和高都是250,但是打开导出后的Excel发现宽度没有高度大,是个长方形,查看该列的宽度仅为7个像素,看来行高和列宽的单位是不一样的,同样换一算sheet.setColumnWidth((short) 0, (short) (35.7));表示高度为一个像素,同样设置列宽的像素为sheet.setColumnWidth((short) 0, (short) (35.7*n));//n为列高的像素数。
但是目前列宽我还没找到其他的比这个更简单的函数,如果有朋友比这个更简单的希望大家多多交流。

分享到:
评论

相关推荐

    poi excel example,分页,行高,列宽

    标题中的“poi excel example,分页,行高,列宽”指的是使用Apache POI库来操作Excel文件的一些关键功能,包括设置分页、调整行高和列宽。Apache POI是一个流行的Java API,用于读取和写入Microsoft Office格式的...

    poi 生成Excel的详细例子

    // 设置列宽,单位为字符宽度,乘以256转换为像素 ``` 合并单元格是增强表格表现力的一种方式。例如,合并第一行的两个单元格: ```java sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 1)); // 合并(行...

    APACHE POI EXCEL 2007导出报表

    ### Apache POI Excel 2007 导出报表知识点详解 #### 一、Apache POI 概述 ...这些基本的操作涵盖了创建工作簿、工作表、设置行高列宽、添加数据以及设置单元格样式等关键环节,对于初学者来说是非常实用的学习资料。

    POI-excel导出样式设计.docx

    本文总结了 POI-excel 的一些常用方法和样式设计,包括读取 Excel 文件、获取单元格内容、设置单元格内容、读取单元格内容、设置列宽和行高、添加区域和合并单元格、常用方法和常用单元格边框格式等。

    poi操作excel

    在上述代码的末尾部分,`setDefaultHighWidth()`方法展示了如何设置默认的行高和列宽。 ### 三、单元格合并 在创建复杂报表时,合并单元格是一项常用功能。使用POI,可以使用`sheet.addMergedRegion()`方法来合并...

    POI的开发和使用文档.docx

    ### Apache POI 开发与使用知识点详述 ...此示例展示了如何创建一个 Excel 文件,包括创建工作簿、工作表、行和单元格,以及如何设置列宽和行高等。通过这种方式,开发者可以根据具体需求灵活地操作 Excel 文件。

    poi例子(util)、jar

    3. **处理复杂数据结构**:POI支持读写多级嵌套的表格数据,包括合并单元格、行高列宽的调整、图表、图片等元素。 4. **工作簿和工作表操作**:通过Workbook和Sheet接口,可以方便地管理和操作Excel的工作簿和工作...

    poi-bin-3.14 目前最新

    - 修改已有的Excel文件,比如更新单元格数据、调整行高列宽、插入图片等。 - 处理复杂的Excel功能,如条件格式、数据验证、图表等。 - 创建和修改Word文档,添加文本、图片、表格等元素。 - 生成和解析PowerPoint...

    java导出带样式Excel2003和Excel2007实例demo

    这个实例演示了如何使用Java来创建带样式的效果,如居中对齐、设置边框、调整背景颜色、改变字体样式、实现隔行变色、设置行高和列宽以及自动换行等功能。下面我们将详细讨论这些知识点。 1. **Apache POI库**:...

    Java-poi生成带有图片的Excel

    需要注意的是,根据实际需求,你可能还需要处理更多的细节,例如调整单元格的样式、合并单元格、设置行高和列宽等。在实践中,你可能会遇到内存管理和性能优化的问题,例如大量图片可能导致内存溢出,这时可以考虑...

    poi -ooxml-3.9 Class 源码包

    你可以通过它们来添加、删除或修改单元格,设置行高和列宽,以及处理公式和条件格式。 3. **Cell 类**:`Cell` 类是处理单元格的核心,支持多种数据类型,如字符串、数字、日期和布尔值。你可以通过 `CellType` ...

    FineReport常见的数据集报错错误代码和解释

    - **含义**: 行高列宽设置过大导致超出页面限制。 - **解决方案**: - 减小行高列宽值。 - 调整页面大小。 #### 17. **模板文件解析出错** - **错误代码**: 1305 - **含义**: 模板文件格式错误或损坏。 - **...

    poi-3.0 jar包和简单实例

    你可以通过Sheet对象来设置行高、列宽,以及添加和删除行和列。 4. **Row**: 表示Excel的一行,可以包含多个Cell。Row对象允许你控制行的高,以及插入和删除Cell。 5. **Cell**: Cell是Excel中最小的数据单元,...

    POI_中文API

    设置列宽、行高 - 设置列宽: ```java sheet.setColumnWidth((short)column, (short)width); ``` - 设置行高: ```java row.setHeight((short)height); ``` ##### 10. 添加区域,合并单元格 - 定义合并区域...

    poi-3.17开发用所有jar包

    这包括插入文本、数字、公式,设置单元格样式,调整列宽和行高,以及插入图片和图表。 4. **兼容性**:POI 3.17支持多种Office文件格式,包括Excel的.BIFF8 (xls)和OpenXML (.xlsx),以及Word的DOC和DOCX。此外,还...

    POI使用方法表

    5. **设置列宽和行高** ```java // 设置列宽 sheet.setColumnWidth((short)column, (short)width); // 设置行高 row.setHeight((short)height); ``` 6. **添加区域与合并单元格** ```java // 创建合并...

    apache poi 导出excel、word

    - **表格**:Table对象代表Word中的表格,可以添加Row和Cell,设置列宽和行高,以及对单元格进行格式化。 6. **使用POM.xml**: 在Java Maven项目中,POM.xml文件是项目配置的核心,它包含了项目的依赖管理。为了...

    POI工具包下载

    Row和Cell提供了丰富的API来设置和获取单元格的值,调整行高和列宽,以及应用单元格样式。 要开始使用Apache POI,你需要在项目中引入相应的依赖。对于Maven项目,可以在pom.xml文件中添加以下依赖: ```xml ...

    POI实战总结

    9、设置列宽、行高 10、添加区域,合并单元格 11、保存Excel文件 12、根据单元格不同属性返回字符串数值 13、常用单元格边框格式 14、设置字体和内容位置 15、插入图片 16、调整工作表位置 17、设置打印...

    java 导出excel(单、多工作薄)

    7. 设置行高和列宽,使表格更易阅读。 在实际应用中,你可能还需要处理更多的细节,如数据分页、排序、过滤,以及处理日期、数字等特殊类型的数据。此外,为了提高性能,可以考虑使用Streaming User Model(SXSSF)...

Global site tag (gtag.js) - Google Analytics