网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > .Net >

记录一次NPOI库导出Excel遇到的小问题解决方案

时间:2024-11-23 15:23

人气:

作者:admin

标签:

导读:前言 在工作中经常会去导入或者导出Excel,那么我在工作中用的是NPOI库,很方便。不过在用的时候难免会出现问题,在这里记录一下这次需求遇到的问题。 不过目前用的NPOI库的版本很...

在工作中经常会去导入或者导出Excel,那么我在工作中用的是NPOI库,很方便。不过在用的时候难免会出现问题,在这里记录一下这次需求遇到的问题。

不过目前用的NPOI库的版本很老,不知道最新版本是否有其他实现方式,注意甄别。

如图所示:

image

需要设置WrapText = true才能让单元格中的内容自动换行

IFont fontfp = wb.CreateFont();
ICellStyle FontStyle = wb.CreateCellStyle();
FontStyle.WrapText = true; // 设置自动换行

如图所示:

image

如果导出Excel是根据模版导出,模版中的函数可能会因为各种原因变成上图的样子,那么为了避免这种情况这里使用SetCellFormula为单元格设置函数,这里以SUM函数为例

IWorkbook workbook = new XSSFWorkbook();  
ISheet sheet = workbook.CreateSheet("Sheet1"); 
sheet.GetRow(1).CreateCell(1).SetCellFormula("SUM(A1:A2)")

如图所示:

image

如果使用Office操作Excel插入行图片是会移动的,我插入一行,图片就会往下移动一行。但是如果使用代码操作,即使你插入行使用了ShiftRows移动行,但是图片就是不动。

那么,我的解决方案是图片不放到模版中,而是在进行模版导出的时候进行插入操作,当Excel数据插入后,再对图片进行插入,这样图片就可以在想要的位置中显示。

这里用GPT写了个函数,可以参考一下。当完成插入行的操作后再调用这个函数就行了。

/// <summary>  
/// 将图片插入到Excel的指定sheet中  
/// </summary>  
/// <param name="workbook">Excel工作簿</param>  
/// <param name="sheet">目标sheet</param>  
/// <param name="imagePath">图片路径</param>  
/// <param name="rowStart">起始行索引</param>  
/// <param name="rowEnd">结束行索引</param>  
/// <param name="colStart">起始列索引</param>  
/// <param name="colEnd">结束列索引</param>  
public void InsertImage(IWorkbook workbook, ISheet sheet, string imagePath, int rowStart, int rowEnd, int colStart, int colEnd, double scaleSize)
{
	// 读取图片文件  
	byte[] imageBytes = System.IO.File.ReadAllBytes(Server.MapPath(imagePath));

	// 添加图片到工作簿  
	int pictureIndex = workbook.AddPicture(imageBytes, PictureType.PNG);

	// 创建图形和锚定  
	IDrawing drawing = sheet.CreateDrawingPatriarch();
	IClientAnchor anchor = new XSSFClientAnchor (0, 0, 0, 0, co	lStart, rowStart, colEnd, rowEnd);

	// 创建并调整图片  
	IPicture picture = drawing.CreatePicture(anchor, pictureIndex);
	// 设置图片的新尺寸  
	picture.Resize(scaleSize);
}

记录了

  • 换行处理
  • 函数处理
  • 图片位置处理

3个问题,虽然都不是很难的问题,但是这里还是分享一下~,如果有问题欢迎指出。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信