poi生成Excel分Excel2003和Excel2007(Excel2010)

2024-08-26 21:48

本文主要是介绍poi生成Excel分Excel2003和Excel2007(Excel2010),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下测试可行:jar包 poi-3.7


//实体类

package com.tuyao.domain;
import java.util.Date;  /** * @author Geloin *  */  
public class Person {  /** * 姓名 */  private String name;  /** * 年龄 */  private int age;  /** * 生日 */  private Date birthday;  /** * 是否学生 */  private boolean isStudent;  /** * 身高 */  private double height;  public String getName() {  return name;  }  public void setName(String name) {  this.name = name;  }  public int getAge() {  return age;  }  public void setAge(int i) {  this.age = i;  }  public Date getBirthday() {  return birthday;  }  public void setBirthday(Date birthday) {  this.birthday = birthday;  }  public boolean isStudent() {  return isStudent;  }  public void setStudent(boolean isStudent) {  this.isStudent = isStudent;  }  public double getHeight() {  return height;  }  public void setHeight(double height) {  this.height = height;  }  }  



//poi处理类

package com.poi.excel.handle;  import java.io.File;  
import java.io.FileOutputStream;  
import java.io.OutputStream;  
import java.text.SimpleDateFormat;  
import java.util.ArrayList;  
import java.util.List;  import org.apache.poi.hssf.usermodel.HSSFCell;  
import org.apache.poi.hssf.usermodel.HSSFCellStyle;  
import org.apache.poi.hssf.usermodel.HSSFFont;  
import org.apache.poi.hssf.usermodel.HSSFRichTextString;  
import org.apache.poi.hssf.usermodel.HSSFRow;  
import org.apache.poi.hssf.usermodel.HSSFSheet;  
import org.apache.poi.hssf.usermodel.HSSFWorkbook;  
import org.apache.poi.ss.util.CellRangeAddress;  import com.tuyao.domain.Person;  /** * @author Geloin *  */  
public class PoiTest {  /** *  * @param args * @throws Exception */  public static void main(String[] args) throws Exception {  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  List<Person> data = new ArrayList<Person>();  Person person1 = new Person();  person1.setName("张三");  person1.setAge(20);  person1.setBirthday(format.parse("1989-11-12"));  person1.setStudent(true);  person1.setHeight(168.8);  data.add(person1);  Person person2 = new Person();  person2.setName("李四");  person2.setAge(21);  person2.setBirthday(format.parse("1988-11-12"));  person2.setStudent(false);  person2.setHeight(169.8);  data.add(person2);  String exportPath = "d:/export.xls";  OutputStream out = new FileOutputStream(new File(exportPath));  // 声明一个工作薄  HSSFWorkbook workbook = new HSSFWorkbook();  // 生成一个表格  HSSFSheet sheet = workbook.createSheet("sheet的名称");  // 设置表格默认列宽度为15个字节  sheet.setDefaultColumnWidth(15);  // 设置标题  HSSFCellStyle titleStyle = workbook.createCellStyle();  // 居中显示  titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);  // 标题字体  HSSFFont titleFont = workbook.createFont();  // 字体大小  titleFont.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);  titleStyle.setFont(titleFont);  HSSFCellStyle contentStyle = workbook.createCellStyle();  contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);  HSSFFont contentFont = workbook.createFont();  contentFont.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);  contentStyle.setFont(contentFont);  // 产生表格标题行  HSSFRow row = sheet.createRow(0);  String[] headers = new String[] { "序号", "姓名", "年龄", "出生年月", "是否学生",  "身高" };  for (int i = 0; i < headers.length; i++) {  HSSFCell cell = row.createCell(i);  HSSFRichTextString text = new HSSFRichTextString(headers[i]);  cell.setCellValue(text);  cell.setCellStyle(titleStyle);  }  int rowCount = 1;  for (int i = 0; i < data.size(); i++, rowCount++) {  HSSFRow dataRow = sheet.createRow(rowCount);  Person person = data.get(i);  // 序号  HSSFCell cell0 = dataRow.createCell(0);  cell0.setCellValue((i + 1));  cell0.setCellStyle(contentStyle);  // 姓名  HSSFCell cell1 = dataRow.createCell(1);  cell1.setCellValue(person.getName());  cell1.setCellStyle(contentStyle);  // 年龄,转化为String后放到cell里面  HSSFCell cell2 = dataRow.createCell(2);  cell2.setCellValue(person.getAge());  cell2.setCellStyle(contentStyle);  // 出生年月,转化为String后放到cell里面  HSSFCell cell3 = dataRow.createCell(3);  cell3.setCellValue(format.format(person.getBirthday()));  cell3.setCellStyle(contentStyle);  // 是否学生,转化为String后放到cell里面  HSSFCell cell4 = dataRow.createCell(4);  String isStudent = person.isStudent() ? "是" : "否";  cell4.setCellValue(isStudent);  cell4.setCellStyle(contentStyle);  // 身高,转化为String后放到cell里面  HSSFCell cell5 = dataRow.createCell(5);  cell5.setCellValue(String.valueOf(person.getHeight()));  cell5.setCellStyle(contentStyle);  }  // 合并,从第一行到最后一行,从第七列到第七列  sheet.addMergedRegion(new CellRangeAddress(0, rowCount - 1, 6, 6));  // 合并单元格的内容,合并单元格后,仅会保留第一行,第七列的内容,所以设置第一行第七列的内容  HSSFCell cell6 = row.createCell(6);  cell6.setCellStyle(contentStyle);  cell6.setCellValue("合并单元格的内容");  workbook.write(out);  }  
}  


这篇关于poi生成Excel分Excel2003和Excel2007(Excel2010)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109772

相关文章

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失

利用Python实现Excel文件智能合并工具

《利用Python实现Excel文件智能合并工具》有时候,我们需要将多个Excel文件按照特定顺序合并成一个文件,这样可以更方便地进行后续的数据处理和分析,下面我们看看如何使用Python实现Exce... 目录运行结果为什么需要这个工具技术实现工具的核心功能代码解析使用示例工具优化与扩展有时候,我们需要将