`

使用POI生成Excel文件,可以自动调整excel列宽等(转)

 
阅读更多

//autoSizeColumn()方法自动调整excel列宽

importjava.io.FileOutputStream;

importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFCellStyle;
importorg.apache.poi.hssf.usermodel.HSSFFont;
importorg.apache.poi.hssf.usermodel.HSSFRow;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
importorg.apache.poi.hssf.usermodel.HSSFRichTextString;
importorg.apache.poi.hssf.usermodel.HSSFDataFormat;
importorg.apache.poi.hssf.usermodel.HSSFComment;
importorg.apache.poi.hssf.usermodel.HSSFPatriarch;
importorg.apache.poi.hssf.usermodel.HSSFClientAnchor;

publicclassPoiCreateExcelTest {
    
publicstaticvoidmain(String[] args) {
        
/**
          *
@see<a href="http://poi.apache.org/hssf/quick-guide.html#NewWorkbook">For more</a>
         
*/
        
        
//创建新的Excel 工作簿
         HSSFWorkbook workbook =newHSSFWorkbook();
        
        
//在Excel工作簿中建一工作表,其名为缺省值, 也可以指定Sheet名称
         HSSFSheet sheet =workbook.createSheet();
        
//HSSFSheet sheet = workbook.createSheet("SheetName");
        
        
//用于格式化单元格的数据
         HSSFDataFormat format =workbook.createDataFormat();
        
        
//创建新行(row),并将单元格(cell)放入其中. 行号从0开始计算.
         HSSFRow row =sheet.createRow((short) 1);

        
//设置字体
         HSSFFont font =workbook.createFont();
         font.setFontHeightInPoints((
short) 20); //字体高度
         font.setColor(HSSFFont.COLOR_RED); //字体颜色
         font.setFontName("黑体"); //字体
         font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //宽度
         font.setItalic(true); //是否使用斜体
//         font.setStrikeout(true); //是否使用划线

        
//设置单元格类型
         HSSFCellStyle cellStyle =workbook.createCellStyle();
         cellStyle.setFont(font);
         cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//水平布局:居中
         cellStyle.setWrapText(true);
        
        
//添加单元格注释
        
//创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
         HSSFPatriarch patr =sheet.createDrawingPatriarch();
        
//定义注释的大小和位置,详见文档
         HSSFComment comment =patr.createComment(newHSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 6, 5));
        
//设置注释内容
         comment.setString(newHSSFRichTextString("可以在POI中添加注释!"));
        
//设置注释作者. 当鼠标移动到单元格上是可以在状态栏中看到该内容.
         comment.setAuthor("Xuys.");
        
        
//创建单元格
         HSSFCell cell =row.createCell((short) 1);
         HSSFRichTextString hssfString
=newHSSFRichTextString("Hello World!");
         cell.setCellValue(hssfString);
//设置单元格内容
         cell.setCellStyle(cellStyle);//设置单元格样式
         cell.setCellType(HSSFCell.CELL_TYPE_STRING);//指定单元格格式:数值、公式或字符串
         cell.setCellComment(comment);//添加注释

        
//格式化数据
         row =sheet.createRow((short) 2);
         cell
=row.createCell((short) 2);
         cell.setCellValue(
11111.25);
         cellStyle
=workbook.createCellStyle();
         cellStyle.setDataFormat(format.getFormat(
"0.0"));
         cell.setCellStyle(cellStyle);

         row
=sheet.createRow((short) 3);
         cell
=row.createCell((short) 3);
         cell.setCellValue(
9736279.073);
         cellStyle
=workbook.createCellStyle();
         cellStyle.setDataFormat(format.getFormat(
"#,##0.0000"));
         cell.setCellStyle(cellStyle);
        
        
         sheet.autoSizeColumn((
short)0); //调整第一列宽度
         sheet.autoSizeColumn((short)1); //调整第二列宽度
         sheet.autoSizeColumn((short)2); //调整第三列宽度
         sheet.autoSizeColumn((short)3); //调整第四列宽度

        
try{
             FileOutputStream fileOut
=newFileOutputStream("C:\3.xls");
             workbook.write(fileOut);
             fileOut.close();
         }
catch(Exception e) {
             System.out.println(e.toString());
         }

     }


}

分享到:
评论
2 楼 dashengkeji 2018-02-11  
1a64f39292ebf4b4bed41d9d6b21ee7f
1 楼 zi_wu_xian 2016-09-02  
PageOffice操作excel也可以设置表格的行高列宽,并且代码不用这么复杂,推荐试试。

相关推荐

    poi生成excel实例

    7. "POI中文编码及多工作表输出.files"、"利用Java 创建和读取Excel文档.files"、"使用POI生成Excel文件,可以自动调整excel列宽(这个不错).files"、"使用POI生成Excel文件(详细).files":这些可能是与上述HTML...

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

    通过这两个文件,开发者可以学习如何使用Apache POI库进行基本的Excel操作,这对于需要处理大量数据的Java应用尤其有用,如报表生成、数据分析等场景。通过实践这些示例,可以更好地理解如何在实际项目中应用这些...

    poi 生成Excel的详细例子

    在这个"poi 生成Excel的详细例子"中,我们将深入探讨如何利用Apache POI库来创建、编辑和格式化Excel工作簿。这个例子涵盖了从基本的单元格操作到复杂的样式设定,为开发者提供了全面的参考。 首先,我们需要导入...

    使用poi从数据库导出excel表的示例

    总结起来,"使用poi从数据库导出excel表的示例"是一个结合了Struts1 MVC框架和Apache POI库的Java编程任务,它涉及数据库连接、SQL查询、Excel文件生成以及Web应用响应。这个过程不仅有助于数据的高效管理和分享,也...

    C#生成Excel(包含下拉、列宽、单元格格式、背景等)

    在C#编程中,生成Excel文件是一项常见的任务,特别是在数据导出、报表生成或数据分析的场景下。本教程将深入探讨如何使用C#创建Excel文件,包括设置下拉列表、调整列宽、设置单元格格式以及填充背景色。首先,我们...

    Java-poi生成带有图片的Excel

    本篇文章将深入探讨如何使用Java POI 创建含有图片的Excel文件,并通过实际代码示例来帮助你理解和应用。 首先,你需要导入Java POI 的相关依赖库,通常使用Maven或Gradle来管理。如果你的项目中还没有引入,可以在...

    poi读取excel所需jar包,需要的自取

    - **读取Excel文件**:创建`FileInputStream`对象,然后通过`WorkbookFactory.create()`方法创建`Workbook`实例,这将根据文件内容自动选择使用`HSSFWorkbook`还是`XSSFWorkbook`。 - **写入Excel文件**:创建`...

    java使用poi操作excel

    Java 使用 Apache POI 操作 Excel 是一种常见的数据处理方式,特别是在大数据分析、报表生成和数据导入导出等场景中。Apache POI 是一个开源库,它允许 Java 开发者读写 Microsoft Office 格式,包括 Excel(.xlsx ...

    POI-excel导出样式设计.docx

    使用 POI-excel 读取 Excel 文件可以通过以下步骤实现: * 首先,创建一个 POIFSFileSystem 对象,用于读取 Excel 文件。 * 然后,使用 HSSFWorkbook 对象读取 Excel 文件的内容。 * 使用 HSSFSheet 对象遍历工作表...

    java的POI操作Excel文件.pdf

    如果Sheet是由POI生成的,就不会出现此类问题。 其次,我们需要了解如何在POI中复制行。由于API中并没有提供直接的复制行功能,因此需要自定义实现。以下是一个简单的示例,展示了如何从一个工作表复制指定范围的行...

    利用poi3.9操作excel例子,对比双色球的历史中奖数据

    在IT行业中,Apache POI是一个广泛使用的库,它允许开发者使用Java来读写Microsoft Office格式的文件,包括Excel。在本例中,我们关注的是如何使用POI 3.9版本来操作Excel,特别是用于对比双色球的历史中奖数据。...

    java基于poi导出excel透视表代码实例

    本文主要介绍了使用Java语言结合POI库来生成Excel透视表的详细步骤,包括创建Workbook对象、生成数据sheet、创建透视表sheet、设置透视表数据源、添加行标签、添加列标签等步骤。 首先,需要使用POI库来创建...

    Openoffice转换多列EXCEL为PDF行列对应解决方法

    2. 缩小Excel列宽:通过Apache POI,我们可以访问到Excel的工作表和单元格,然后调整列宽。例如,可以遍历所有列,将每个列的宽度设置为一个较小的值,以确保即使多列数据也能在一行内显示。 3. 保存并转换:调整好...

    POI操作excel的所有jar包(3.7-3.10)+dom4j.jar+xmlbean.jar

    - 处理行、列的操作,如合并单元格、调整列宽等。 - 支持老版的.xls和新版的.xlsx格式。 总的来说,Apache POI是一个强大的工具,尤其适用于Java开发者处理Excel文件的需求。结合dom4j和xmlbeans,它可以提供对XML...

    poi操作excel

    总之,使用Apache POI进行Excel操作,不仅可以实现基本的数据导入导出,还能通过精细的样式设置,生成满足特定需求的高质量报表。对于Java开发者来说,掌握POI的这些高级功能,能够极大地提升工作效率和项目质量。

    最新最全POI合集

    Apache POI是一个开源项目,专为处理Microsoft Office格式的文件而设计,如Word(.doc)、Excel(.xls和.xlsx)和PowerPoint(.ppt)。...如果你需要处理或生成Excel文件,那么这个"最新最全POI合集"将是你的得力助手。

    java中excel导出工具poi接口封装

    - 自动调整列宽,以适应单元格内容。 - 支持样式设置,如字体、颜色、边框、对齐方式等。 - 提供模板支持,允许用户定义Excel模板,仅替换其中的数据部分。 - 处理大量数据时的内存优化,如使用SXSSFWorkbook,它能...

    java用poi导入,到处excel操作

    Java使用Apache POI库进行Excel导入与导出操作是企业级应用中常见的需求,尤其是在数据处理、报表生成和数据分析等领域。Apache POI是一个开源项目,它提供了读取和写入Microsoft Office格式文件的能力,包括Excel...

    poi Excel写操作帮助类

    本文主要介绍的是关于使用 Apache POI 进行 Excel (`.xls`) 文件写操作的帮助类设计与实现。 #### 二、核心类与方法详解 ##### 2.1 类结构概述 `ExcelUtil` 类是一个工具类,提供了一系列静态方法用于处理 Excel ...

Global site tag (gtag.js) - Google Analytics