`

poi excel

    博客分类:
  • util
 
阅读更多

1. 包描述

         HSSF - 提供读写Microsoft Excel XLS格式档案的功能。

         XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。

         HWPF - 提供读写Microsoft Word DOC格式档案的功能。

         HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

         HDGF - 提供读Microsoft Visio格式档案的功能。

         HPBF - 提供读Microsoft Publisher格式档案的功能。

         HSMF - 提供读Microsoft Outlook格式档案的功能。

 

2,相关java测试代码

/**
	 * excel
	 */
	private static void exportExcel(String fileName) {
		//1.声明一个工作薄
		HSSFWorkbook workbook = new HSSFWorkbook();
		//2.生成一个表格
		HSSFSheet sheet = workbook.createSheet("sheet_title");
		
		//3.表格设置
		// 3.1 合并单元格  cell1(row,column),cell2(row,column)
		sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 0));
		// 3.2 列自适应
		sheet.autoSizeColumn(0);
		// 3.3 数据验证
		// sheet.addValidationData(dataValidation)
		// 3.4设置表格默认列宽度为15个字节
		sheet.setDefaultColumnWidth((short) 15);

		// 3.5 设置列宽,对具体每一列进行设值
		// sheet.setColumnWidth(0, 256 * 13);
		// sheet.setColumnWidth(1, 4000);

		//4 样式设置
		// 4.1 生成一个样式
		HSSFCellStyle style = workbook.createCellStyle();
		// 4.2 背景颜色
		style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);// 填充颜色
		style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);// 填充方式
		/**
		 * 自定义背景颜色 
		 * HSSFPalette palette = workbook.getCustomPalette(); //wb
		 * HSSFWorkbook对象 palette.setColorAtIndex((short) 9, (byte) (181),
		 * (byte) (193), (byte) (230)); style.setFillForegroundColor((short) 9);
		 */

		// 4.3 设置上下左右边框
		style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
		style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
		style.setBorderRight(HSSFCellStyle.BORDER_THIN);
		style.setBorderTop(HSSFCellStyle.BORDER_THIN);

		// 4.4 设置居中对齐
		style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
		// 4.5 设置垂直居中
		style.setVerticalAlignment((short) 1);

		// 4.6 自动换行
		style.setWrapText(true);
		// cell.setCellValue("row \r\n one");

		//4.7 字体
		HSSFFont fontBoldBlack12 = workbook.createFont();
		fontBoldBlack12.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 加粗
		fontBoldBlack12.setColor(HSSFColor.BLACK.index);// 字体颜色
		fontBoldBlack12.setFontHeightInPoints((short) 12);// 字体大小

		style.setFont(fontBoldBlack12);

		// 4.8声明一个画图的顶级管理器
		HSSFPatriarch patriarch = sheet.createDrawingPatriarch();
		// 定义注释的大小和位置,详见文档
		HSSFComment comment = patriarch.createComment(new HSSFClientAnchor(0,
				0, 0, 0, (short) 4, 2, (short) 6, 5));
		// 设置注释内容
		comment.setString(new HSSFRichTextString("可以在POI中添加注释!"));
		// 设置注释作者,当鼠标移动到单元格上是可以在状态栏中看到该内容.
		comment.setAuthor("leno");

		// 4.9  对一个cell设置多个字体样式,可以用 HSSFRichTextString
		HSSFRichTextString text = new HSSFRichTextString("header1");
		// text.applyFont(startIndex, endIndex, font)
		// cell.setCellValue(text);

		// 创建行
		Row row1 = sheet.createRow(0);
		// 创建列
		Cell cell1 = row1.createCell(0);
		// 设置样式
		cell1.setCellStyle(style);
		// 设置值
		cell1.setCellValue("cell value");
		// 设置类型
		cell1.setCellType(Cell.CELL_TYPE_STRING);
		cell1.setCellComment(comment);
		// cell1.setCellErrorValue(arg0)
		
		//4.10   创建超链接  
	    HSSFHyperlink link = new HSSFHyperlink(HSSFHyperlink.LINK_URL);  
	    link.setAddress("http://www.baidu.com");  
	    cell1.setCellValue("百度");  
	    cell1.setHyperlink(link);// 设定单元格的链接  


		// 有图片时,设置行高为60px;
		// row1.setHeightInPoints(60);
		// 设置图片所在列宽度为80px,注意这里单位的一个换算
		// sheet.setColumnWidth(1, (short) (35.7 * 80));
		// sheet.autoSizeColumn(i);
		// byte[] bsValue = (byte[]) value;
		// HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0,
		// 1023, 255, (short) 6, index, (short) 6, index);
		// anchor.setAnchorType(2);
		// patriarch.createPicture(anchor, workbook.addPicture(
		// bsValue, HSSFWorkbook.PICTURE_TYPE_JPEG));

		// 将文件存到指定位置
		try {
			FileOutputStream fout = new FileOutputStream(fileName);
			workbook.write(fout);
			fout.close();
		} catch (Exception e) {
			e.printStackTrace();
		}

		// 如果采用 spring mvc, control如下:
		// HSSFWorkbook wb = service.export(list);
		// response.setContentType("application/vnd.ms-excel");
		// response.setHeader("Content-disposition",
		// "attachment;filename=excelName.xls");
		// OutputStream ouputStream = response.getOutputStream();
		// wb.write(ouputStream);
		// ouputStream.flush();
		// ouputStream.close();
	}

 

分享到:
评论

相关推荐

    poi excel poi excel poi excel

    ### POI Excel知识点详解 #### 一、Jakarta POI简介与Apache POI的作用 Jakarta POI 是 Apache POI 的早期项目名称,它提供了一组 API 来处理 Microsoft Office 文件格式,特别是针对 Excel(`.xls` 和 `.xlsx`)...

    poi excel转换成bean

    在Java开发中,Apache POI 是一个非常流行的库,它允许程序员创建、修改和显示Microsoft Office格式的文件,包括Excel工作簿。标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并...

    JAVA POI Excel转Html

    JAVA POI Excel转Html,代码和所需的jar都在压缩包,项目在线预览需求,实现后分享下

    java使用 POI Excel模板导出数据

    在Java编程中,Apache POI库是一个非常流行的工具,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel。这篇博客"java使用POI Excel模板导出数据"探讨了如何利用POI库在Java中创建Excel模板并填充...

    poi excel转html

    poi提供了excel转html的代码,但是吧,有好多问题。当有合并单元格时边框获取不到,单元格内的字体样式也转换不了,现在对poi提供的Tohtml.java做了一些修改,修复了这些问题,记录下,以备之后用到

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

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

    poi excel加密

    在Java开发中,Apache POI库是一个非常实用的工具,用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。当我们谈论“poi excel加密”时,这通常是指使用Apache POI来处理加密的Excel文件。Excel文件...

    SpringMVC POI Excel 生成导出

    "SpringMVC POI Excel 生成导出" SpringMVC 是一个基于 Java 的 Web 框架,POI 是一个 Java 库,用于操作 Microsoft Office 文件格式,Excel 是一个电子表格软件。今天,我们将在 SpringMVC 中使用 POI 生成 Excel ...

    poi excel 模板读取 复制表 复制行且区分合并行

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,POI库被广泛用于读取、写入和修改Excel文档。本篇将详细介绍如何使用Apache POI来读取Excel模板,复制工作表(Sheet...

    POI Excel官方源码及文档及实例

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,如Excel、Word和PowerPoint。这个资源包包含了POI项目的源代码、相关文档以及示例,可以帮助开发者深入理解如何使用POI来操作Excel文件。 一...

    poi excel 模板读取并导出带公式的excel文档

    ### POI Excel 模板读取并导出带公式的Excel文档 #### 一、概述 在实际工作中,经常需要批量处理数据,并将其导出到Excel文件中,特别是在需要复杂计算的情况下,例如工资单、统计数据汇总等场景。利用Apache POI...

    POI Excel最新官方开发包及文档

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,尤其是Excel(.xls和.xlsx)文件。这个“POI Excel最新官方开发包及文档”包含的是Apache POI库的最新版本及其相关的用户手册和API文档,为...

    poiexcel导出html格式

    Apache POI 是一个开源项目,专门用于处理 Microsoft Office 格式的文件,包括 Excel。在 POI 3.10 及以后的版本中,引入了对将 Excel 工作簿转换为 HTML 格式的支持,这极大地扩展了其在数据导出和网页展示中的应用...

    基于POI的Excel操作Java类

    为更方便的使用POI的API来操作Excel(2003)文件,对POI中针对Excel文件的读写进行了简单封装。此类中包含以下功能: 1.根据模板创建Excel文件 ...压缩包中包含POI的jar文件、POIExcel的jar文件及POIExcel的源码

    poi excel导入

    标题“poi excel导入”指的是使用Apache POI库来读取Excel文件并将其数据导入到数据库中。Apache POI是Java编程语言中一个流行的库,它允许开发者创建、修改和显示Microsoft Office格式的文件,其中包括Excel(.xlsx...

    POI Excel 工具类

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,尤其是Excel文档。这个工具类库使得Java开发者能够方便地读取、写入和操作Excel文件,而无需依赖Microsoft Office套件。以下是对POI Excel工具...

    Apache Poi Excel导出

    Apache POI 是一个开源项目,专门用于处理Microsoft Office格式的文件,包括Excel。在Java开发中,Apache POI 提供了一种高效且灵活的方式来创建、修改和读取Excel工作簿。这篇博客“Apache Poi Excel导出”可能详细...

    Java POI EXCEL导入导出

    Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...

    PoiExcel_single_save.rar

    本项目"**PoiExcel_single_save.rar**"显然是利用Apache POI进行Excel文件的读写操作,并结合了ZBar二维码扫描技术,将扫描数据回填到Excel文件中。下面将详细解释这些技术及其应用。 **Apache POI** Apache POI ...

    poi excel JAR包

    本文将深入探讨"poi excel JAR包"的相关知识点,帮助开发者理解如何利用Apache POI库来解析和操作Excel文件。 Apache POI 是一个Java API,它允许程序员创建、修改和显示MS Office格式的文件。它的名字来源于...

Global site tag (gtag.js) - Google Analytics