java POI 如何实现Excel单元格内容换行

 更新时间:2021年07月29日 10:38:17   作者:congcongxianshen  
这篇文章主要介绍了java POI 如何实现Excel单元格内容换行的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java POI Excel单元格内容换行

在这里插入图片描述

pom.xml

	  <dependency>
   			<groupId>org.apache.poi</groupId>
   			<artifactId>poi</artifactId>
   			<version>3.15</version>
  		</dependency>
  		<dependency>
   			<groupId>org.apache.poi</groupId>
   			<artifactId>poi-ooxml</artifactId>
   			<version>3.15</version>
  		</dependency>
  		
  		
  		<dependency>
   			<groupId>commons-io</groupId>
   			<artifactId>commons-io</artifactId>
   			<version>2.5</version>
  		</dependency>

核心代码

@RestController
public class MyController {
	@RequestMapping("/ip/v5")
	public void getExcel(HttpServletResponse response) throws IOException {
		ArrayList<String> arrayList = new ArrayList<String>();
		arrayList.add("this is 单元格第1行");
		arrayList.add("this is 单元格第2行");
		arrayList.add("this is 单元格第3行");
		arrayList.add("this is 单元格第4行");
		
		XSSFWorkbook workBook = new XSSFWorkbook();
		XSSFSheet sheet = workBook.createSheet();
		workBook.setSheetName(0, "ip-v4表");
		XSSFCellStyle cs = workBook.createCellStyle(); // 换行的关键,自定义单元格内容换行规则
		cs.setWrapText(true);
		String fileName = "china-ip-v4" + ".xls";// 设置要导出的文件的名字
		String[] headers = { "掩码" };
		XSSFRow titleRow = sheet.createRow(0);
		// 在excel表中添加表头
		for (int i = 0; i < headers.length; i++) {
			titleRow.createCell(i).setCellValue(headers[i]);
		}
		String content = String.join("\n", arrayList);
		int rowNum = 1;
		XSSFRow row1 = sheet.createRow(rowNum); // 创建一行
		XSSFCell cell = row1.createCell(0); // 创建一个单元格
		// 如下也是可以的
		//cell.setCellValue("this is 单元格第1行 \n this is单元格第2行 \n this is 单元格第3行 \n this is 单元格第4行");
		cell.setCellValue(content);
		cell.setCellStyle(cs);
		response.setContentType("application/octet-stream");
		response.setHeader("Content-disposition", "attachment;filename=" + fileName);
		response.flushBuffer();
		workBook.write(response.getOutputStream());
	}
}

结果:

在这里插入图片描述

poi单元格写值强制换行

String str="强制\r\n换行"

在字符串中间加上\r\n就行了~

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java封装好的mail包发送电子邮件的类

    Java封装好的mail包发送电子邮件的类

    本文给大家分享了2个java封装好的mail包发送电子邮件的类,并附上使用方法,小伙伴们可以根据自己的需求自由选择。
    2016-01-01
  • spring框架集成flyway项目的详细过程

    spring框架集成flyway项目的详细过程

    今天通过本文给大家分享spring框架集成flyway项目的详细过程,由于大多数都是springboot集成flyway,很少见到spring框架的项目,今天就抽空给大家介绍下spring框架集成flyway项目的方法,一起看看吧
    2021-07-07
  • 一文详解如何在Java中自定义异常类

    一文详解如何在Java中自定义异常类

    这篇文章主要介绍了如何在Java中自定义异常类的相关资料,在Java编程中开发者可以通过继承Exception类或其子类创建自定义异常,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • Java实现心跳机制的方法

    Java实现心跳机制的方法

    这篇文章主要介绍了Java实现心跳机制的方法,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • java调用通义千问API的详细完整步骤

    java调用通义千问API的详细完整步骤

    通义千问是阿里云自主研发的大语言模型,能够在用户自然语言输入的基础上,通过自然语言理解和语义分析,理解用户意图,在不同领域、任务内为用户提供服务和帮助,下面这篇文章主要给大家介绍了关于java调用通义千问API的详细完整步骤,需要的朋友可以参考下
    2024-02-02
  • elasticsearch插件开发教程

    elasticsearch插件开发教程

    这篇文章主要为大家详细介绍了elasticsearch插件开发教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 教你如何精准统计出你的接口

    教你如何精准统计出你的接口"QPS"

    今天小编就为大家分享一篇关于QPS的精准计算方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-08-08
  • IDEA如何快速构建UML类图

    IDEA如何快速构建UML类图

    UML类图是一种用于描述软件系统静态结构的可视化建模语言,它通过类、属性、方法以及它们之间的关系来表示系统,类图主要用于面向对象设计,帮助理解系统的结构和类之间的关系,IDEA提供了自动生成UML类图的功能,但其局限性在于只能基于现有代码生成
    2025-02-02
  • Java类加载器ClassLoader用法解析

    Java类加载器ClassLoader用法解析

    这篇文章主要介绍了Java类加载器ClassLoader用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • java基本教程之Thread中start()和run()的区别 java多线程教程

    java基本教程之Thread中start()和run()的区别 java多线程教程

    这篇文章主要介绍了Thread中start()和run()的区别,Thread类包含start()和run()方法,它们的区别是什么?下面将对此作出解答
    2014-01-01

最新评论