.Net按模板导出Excel
最近在项目中遇到需求 需要按照一定的模板导出数据
还是直接上代码 这里贴一部分模板长什么样吧
然后就是代码
大致就是找到模板
复制一份临时文件
然后修改临时文件然后导出数据
代码如下
string appRoot = AppContext.BaseDirectory;
// 获取模板但是不能修改
string fileName = Path.Combine(appRoot, "customerTemplate.xlsx");
FileInfo file = new FileInfo(fileName);
// 创造临时文件用于修改编辑,用模板的文件代替输出的文件
string temporaryName = Path.Combine(appRoot, "customer.xlsx");
//FileInfo tempoaryPrev = new FileInfo(temporaryName);
FileInfo temporaryExcel = file.CopyTo(temporaryName, true);
这里是生成文件内容到代码
这里一次就只是生成一个文件
很简单的方法 但是不满足批量导出
using (ExcelPackage package = new ExcelPackage(temporaryExcel)){
ExcelWorksheet ws = package.Workbook.Worksheets[0]; //第一张表
ws.Cells["C3"].Value = cmCust.Customername;//代表C3这个单元格
ws.Cells["F3"].Value = cmCust.Customercode;
ws.Cells["C4"].Value = salse;
ws.Cells["F4"].Value = cmCust.Divisionname;//下面的也不一一贴出来了 稍微看一下就懂了
package.Save();//保存
})
生成文件返回带前端 前端直接下载就可以了
var stream = File(fs, "application/octet-stream", $"customer{DateTime.Now.ToString("yyyyMMddHHmmss")}.xlsx");
大致的方法就只有这么一点
具体的自己看着代码写个方法就行了
有什么写的不对的地方麻烦各位大佬指出
这是导出后的样子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!