`

java hssf 写 excle

    博客分类:
  • java
阅读更多
在 poi-2.5.1.jar 下

package com.club.community.util;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.club.exception.BusinessAccessException;


public class CreateExcelUtil {
	private static final Logger log = Logger.getLogger(CreateExcelUtil.class);
	
	private static final String SEPARATOR = File.separator;
	
	public static void crateExcel(String path, String fileName, String sheetName, List<String> titleList, List<String[]> contentList ) {//, List<String> titleList, List<String>
		log.info("生成excel开始,路径: " + path + SEPARATOR + fileName);
		
		HSSFWorkbook workbook = new HSSFWorkbook(); //创建新的Excel工作薄 
		HSSFSheet sheet;
		try {
			sheet = workbook.createSheet(new String(sheetName.getBytes(),"iso8859-1") );//在Excel工作薄中建工作表
			HSSFRow row = sheet.createRow((short) 0); //在索引0的位置建行(最顶端的行) 
			HSSFCell cell;
			String title = "";
			for (int i = 0; i < titleList.size(); i++) {
				title = titleList.get(i);
				cell = row.createCell((short) i);//在索引0的位置建单元格
				cell.setEncoding(HSSFCell.ENCODING_UTF_16); //定义单元格为字符串类型
				cell.setCellValue(title);
			}
			
			String[] contents = new String[titleList.size()];
			for (int i = 0; i < contentList.size(); i++) {
				row = sheet.createRow((short) i + 1); //在索引1的位置创建行(最顶端的行) 
				contents = contentList.get(i);
				for (int j = 0; j < contents.length; j++) {
					cell = row.createCell((short) j); //在索引0的位置创建单元格(左上端) 
					cell.setEncoding(HSSFCell.ENCODING_UTF_16); //定义单元格为字符串类型  
					cell.setCellValue(contents[j]); //在单元格输入一些内容 
				}
			}
		} catch (UnsupportedEncodingException e) {
			log.error(e);
			throw new BusinessAccessException("生成excel失败");
		}
		String fullPathName = path + SEPARATOR + fileName;
		File f = new File(fullPathName);
		if(!f.exists()) {
			f.getParentFile().mkdirs();
		}
		FileOutputStream fOut;//新建输出文件流 
		try {
			fOut = new FileOutputStream(fullPathName);
			workbook.write(fOut); //把相应的Excel工作薄存盘 
			fOut.flush();
			fOut.close(); //操作结束,关闭文件 
			log.info("生成excel结束,路径: " + path + SEPARATOR + fileName);
			System.out.println("excel文件已经生成,存放在" + fullPathName);
		} catch (FileNotFoundException e) {
			log.error(e);
			log.info("生成excel结束,路径: " + path + SEPARATOR + fileName);
			throw new BusinessAccessException("生成excel失败");
		} catch (IOException e) {
			log.error(e);
			log.info("生成excel结束,路径: " + path + SEPARATOR + fileName);
			throw new BusinessAccessException("生成excel失败");
		}
	}
	
	public static void main(String[] args) {
		List<String> titleList = new ArrayList<String>();
		titleList.add("作者");
		titleList.add("编辑");
		
		List<String[]> contentList = new ArrayList<String[]>();
		String[] a1 = {"张三", "李四"};
		String[] a2 = {"王五", "徐六"};
		String[] a3 = {"2222", "3333"};
		String[] a4 = {"4444", "5555"};
		contentList.add(a1);
		contentList.add(a2);
		contentList.add(a3);
		contentList.add(a4);
		
		crateExcel("c:\\abcdefg", "aa.xls", "bb", titleList, contentList);
	}
}
分享到:
评论

相关推荐

    Apache POI HSSF读写Excel

    Apache POI是一个强大的Java库,专门用于处理Microsoft Office格式的文件,尤其是Excel(.xls)和Word(.doc)文档。HSSF(Horizontally Stored Sheet Format)是Apache POI项目的一部分,专注于处理旧版的Excel文件...

    HSSF:纯java的Excel解决方案

    HSSF为此提供了一个理想的解决方案,它使得开发者可以在服务器端通过Java代码生成具有格式的Excel文件,而无需依赖客户端的操作系统或特定的应用程序。 Apache POI项目始于对OLE2对象的处理,HSSF作为其成熟的部分...

    POI HSSF - Excel实例

    标题中的“POI HSSF”指的是Apache POI项目中的HSSF组件,这是一个Java库,用于读写Microsoft Excel(.xls)文件格式。Apache POI是一个流行的开源库,它允许开发者在Java应用程序中处理Microsoft Office文档,包括...

    在Java中读写Excel文件

    在Java中读写Excel文件是一项常见的任务,尤其是在数据处理、报表生成或数据分析等场景下。Apache POI是一个广泛使用的开源库,它允许开发者使用Java语言来处理Microsoft Office格式的文件,包括Excel(XLS和XLSX)...

    java poi导出图片到excel示例代码

    Java POI提供了多种方式来读写Excel文件,包括XSSF、HSSF和SXSSF等。其中,XSSF用于读写xlsx格式的Excel文件,HSSF用于读写xls格式的Excel文件,SXSSF用于读写大型Excel文件。 2. 将图片导出到Excel中 使用Java POI...

    java读写excel文件

    首先,我们需要了解Apache POI库中的核心组件——HSSF(Horrible Spreadsheet Format)用于处理.xls文件(Excel 97-2003格式),而XSSF(eXtended Spreadsheet Format)则用于处理.xlsx文件(Excel 2007及以后的版本...

    java_poi实现excel导入导出

    Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...

    ExcelDemo_Excel导出_下载_POI读excel_JXL读写excel_java读写excel_列宽_读取合并或拆分单元格内容

    本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...

    java 读写Excel组件

    在Java编程中,处理Excel文件是一项常见的任务,无论是数据分析、数据导入导出还是报表生成,都可能需要用到。本文将深入探讨Java中用于读写Excel的组件,并提供相关的实践指导。 一、Apache POI库 Apache POI是...

    Java POI 生成Excel时显示货币格式

    对于Excel操作,Java POI提供了HSSF(对应.xls文件)和XSSF(对应.xlsx文件)两个组件,分别用于处理不同版本的Excel文件。 ### 二、显示货币格式 在使用Java POI生成Excel时,为了使数据更易读和专业,我们经常...

    JAVA_读取excel的数据

    ### JAVA读取Excel数据知识点详解 #### 一、引言 在日常开发工作中,经常会遇到需要处理Excel文件的情况。Java提供了多种方式来读取Excel文件,包括使用Apache POI库等第三方工具。本文将详细介绍如何使用Java语言...

    java导出到excel的工具类

    Apache POI提供了两种主要的API用于处理Excel文件:HSSF(用于旧版的.xls文件)和XSSF(用于.xlsx文件)。由于.xlsx格式是较新的且更具有灵活性,我们通常选择XSSF进行操作。 创建一个Excel导出工具类,首先需要...

    java实现在Excel中插入图片

    对于Excel文件,Apache POI提供了HSSF和XSSF两个API,分别用于处理老版本的BIFF8格式(.xls)和新版本的OOXML格式(.xlsx)。以下我们将重点讨论如何使用XSSF来插入图片。 1. **引入Apache POI依赖** 在Java项目中...

    java读写excel、csv文件

    文件中包括读取excel、csv文件,同时可以将读取出的文件内容保存在另外一个excel或csv中。注意excel2003和excel2007调用的jar包也不一样,需要将代码进行修改。2007版的将HSSF改成XSSF,2003相反。csv文件用XSSF

    完美解决java读取excel内存溢出问题.rar

    在Java开发中,处理大型Excel文件时,可能会遇到内存溢出的问题。这通常是由于Java的默认内存设置不足以处理大量数据导致的。本解决方案主要针对使用Apache POI库进行Excel读取时遇到的这类问题。 首先,Apache POI...

    在Java中读写Excel文件.docx

    总结起来,Apache POI的HSSF组件使得Java开发者可以方便地在程序中创建、读取和修改Excel文件,无论是简单的数据写入还是复杂的表格处理,都能通过其提供的API轻松完成。由于其高效的事件模型和全面的功能,POI成为...

    java代码生成excel表并下载

    在处理Excel文件时,我们主要会用到HSSF(旧版的Excel .xls格式)和XSSF(新版的Excel .xlsx格式)API。 生成Excel表格的步骤大致如下: 1. 引入Apache POI库:在项目中添加对应的依赖,如Maven或Gradle配置。 2....

    HSSF:使用HSSF 对Excel导入导出的纯Java操作

    使用HSSF 对Excel导入导出的纯Java操作 简介 工作中纯靠数据库软件生成的Excel报表有可能不会满足需求,时间工作中需要的数据结构往往是很复杂的,而且在大数据的情况下需要对数据的处理更加精细化,所以单纯的sql语句...

    java中poi读写excel封装工具类(兼容office2003和2007等版本)

    Java中的Apache POI库是处理Microsoft Office文档的强大工具,尤其在读写Excel文件方面。它不仅支持旧版的Excel文件格式(.xls,用于Office 2003及更早版本),还支持新版本的Excel文件格式(.xlsx,自Office 2007起...

Global site tag (gtag.js) - Google Analytics