当前位置: 首页 > news >正文

完整教程:C#.NetCore NPOI 导出excel 单元格内容换行

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

在NPOI中实现Excel单元格内容换行,可经过以下手段建立,本文介绍代码,仅供参考。

方法介绍

‌1、设置自动换行样式‌

通过ICellStyle.WrapText = true属性开启单元格自动换行功能,同时建议设置对齐方式为居中以优化显示效果。

‌2、处理换行符‌

若内容含\n换行符,需确保单元格样式已启用自动换行,否则换行符会展示为空格。

对于HTML换行符<br>,可先替换为\n再赋值给单元格。

‌3、调整行高‌

自动换行后需手动调整行高以适应内容,可经过row.HeightInPoints属性设置(如原高度的2倍)。

C#示例代码如下:

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

public class ExcelExporter
{
public void ExportWithWrapText(string filePath)
{
// 创建工作簿
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");

// 创建带换行样式
ICellStyle wrapStyle = workbook.CreateCellStyle();
wrapStyle.WrapText = true; // 关键设置
wrapStyle.Alignment = HorizontalAlignment.Center;
wrapStyle.VerticalAlignment = VerticalAlignment.Center;

// 创建行并设置内容
IRow row = sheet.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("第一行文本\n第二行文本"); // 使用\n换行
cell.CellStyle = wrapStyle;

// 调整行高
row.HeightInPoints = 2 * sheet.DefaultRowHeightInPoints;

// 保存文件
using (FileStream fs = new FileStream(filePath, FileMode.Create))
{
workbook.Write(fs);
}
}
}


4、完成要点说明

必须同时设置WrapText和行高才能正确显示多行内容。

支持依据程序生成的换行符或用户输入的ALT+ENTER换行符。

若内容来自HTML,需先将<br>转换为\n再赋值。

5、完整C# .NetCore 示例代码

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

public class ExcelExporter
{
public void ExportWithWrapText(string filePath)
{
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");

// 创建带换行样式
ICellStyle wrapStyle = workbook.CreateCellStyle();
wrapStyle.WrapText = true; // 关键设置
wrapStyle.Alignment = HorizontalAlignment.Center;
wrapStyle.VerticalAlignment = VerticalAlignment.Center;

// 创建行并设置内容
IRow row = sheet.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("第一行文本\n第二行文本"); // 使用\n换行
cell.CellStyle = wrapStyle;

// 调整行高
row.HeightInPoints = 2 * sheet.DefaultRowHeightInPoints;

// 保存材料
using (FileStream fs = new FileStream(filePath, FileMode.Create))
{
workbook.Write(fs);
}
}
}

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

http://www.gsyq.cn/news/8404.html

相关文章:

  • 直播软件怎么开发,自适应两栏布局方式 - 云豹科技
  • 基于SpringBoot的足球论坛系统+论文示例参考 - 指南
  • go: 生成缩略图
  • git: 报错: fatal: 协议错误:错误的行长度字符串:This 或 fatal: protocol error: bad line length character: This
  • gin: 打包模板文件、静态文件到二进制文件中
  • gin: 判断是否ajax请求
  • An Empirical Study on Commit Message Generation using LLMs via In-Context Learning 论文笔记
  • Jetpack Navigation - 在 Fragment 中跳转到 Activity(4 种方式) - 详解
  • 强化学习之父 Richard Sutton: 如今AI正进入“经验时代” - 指南
  • 嵌入式笔记系列——UART:TTL-UART、RS-232、RS-422、RS-485 - 指南
  • 实用指南:【保姆级教程】TEXTurePaper运行环境搭建与Stable Diffusion模型本地化
  • 高级数据结构手册
  • 【无人艇协同】基于matlab面向海事安全的双体无人艇分布式协同任务规划(目标函数:总时间满意度)【含Matlab源码 14161期】博士论文 - 教程
  • 深入解析:【Fiora深度解析】手把手教你用固定公网IP搭建专属聊天系统!
  • 使用JavaScript和CSS创建动态高亮导航栏
  • wxt 开发浏览器插件的框架
  • Gridspech 全通关
  • 纯国产GPU性能对比,谁才是国产算力之王?
  • 英伟达入股英特尔,当竞争对手便成协作者,真正受益的......
  • ODT/珂朵莉树 入门
  • 绯闻女孩不只会八卦:从“验明正身”到“抓内鬼”,Gossip的进阶玩法
  • reLeetCode 热题 100- 15. 三数之和 - MKT
  • US$94 T300 Key Programmer Spanish Blue 2016 V16.8 Full
  • US$99 VVDI MB NEC Key Adaptor
  • testuserpython
  • [Nacos/Docker/MCP] Nacos 3.x : 为 AI MCP 而生
  • AIGC拾遗:Flash Attention
  • Python-CSV库
  • C++小白修仙记_LeetCode刷题_双指针
  • 前路漫漫亦灿灿 往事堪堪亦澜澜