c#使用nopi设置excel内容
public string Imp(DataSet ds, string title)
{
string directory = $"UploadFiles/ExportExcel/{DateTime.Now.ToString("yyyy/MM/dd", System.Globalization.DateTimeFormatInfo.InvariantInfo)}";
if (!Directory.Exists($"./wwwroot/{directory}"))
{
Directory.CreateDirectory($"./wwwroot/{directory}");
}
string name = $"{title}.xlsx";
string url = $"{directory}/{name}";
//生成文件存放路径
string filePath = $@"./wwwroot/{url}";
if (File.Exists(filePath))
{
File.Delete(filePath);
}
using FileStream file = new FileStream(filePath, FileMode.Create, FileAccess.Write);
if (ds != null)
{
foreach (DataTable item in ds.Tables)
{
if (item != null && item.Rows.Count > 0)
{
var workbook = new XSSFWorkbook();
ICellStyle headStyle = workbook.CreateCellStyle(); //头样式
headStyle.VerticalAlignment = VerticalAlignment.Center;
headStyle.Alignment = HorizontalAlignment.Center;
XSSFFont font = workbook.CreateFont() as XSSFFont;
font.FontHeightInPoints = 10;
font.IsBold = true;
headStyle.SetFont(font);
ICellStyle bodyStyle = workbook.CreateCellStyle(); //body样式
bodyStyle.VerticalAlignment = VerticalAlignment.Center;
bodyStyle.Alignment = HorizontalAlignment.Center;
ISheet sheet = workbook.CreateSheet(item.TableName);
int rowCount = item.Rows.Count; //行数
int columnCount = item.Columns.Count; //列数
//设置列头
IRow rowHead = sheet.CreateRow(0); //excel第一行设为列头
rowHead.HeightInPoints = 22;
for (int c = 0; c < columnCount; c++)
{
var cell = rowHead.CreateCell(c);
cell.SetCellValue(item.Columns[c].ColumnName);
cell.CellStyle = headStyle;
sheet.SetColumnWidth(c, 14 * 256);
}
//设置每行每列的单元格,
for (int i = 0; i < rowCount; i++)
{
IRow rowBody = sheet.CreateRow(i + 1);
rowBody.HeightInPoints = 20;
for (int j = 0; j < columnCount; j++)
{
var cell = rowBody.CreateCell(j); //excel第二行开始写入数据
cell.SetCellValue(item.Rows[i][j].ToString());
cell.CellStyle = bodyStyle;
}
}
workbook.Write(file);
}
else
{
throw new FLCException("错误");
}
}
}
return url;
}
c#使用nopi设置excel内容的更多相关文章
- nopi设置excel只读
- C#winform使用NOPI读取Excel读取图片
需求:在Winform使用NOPI做导入时候,需要导入数据的同时导入图片. 虽然代码方面不适用(我好像也没仔细看过代码),但是感谢大佬给了灵感http://www.wjhsh.net/IT-Ramon ...
- C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式
前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要 ...
- asp.net将页面内容按需导入Excel,并设置excel样式,下载文件(解决打开格式与扩展名指定的格式不统一的问题)
//请求一个excel类 Microsoft.Office.Interop.Excel.ApplicationClass excel = null; //创建 Workbook对象 Microsoft ...
- C#使用NOPI生成excel要点记载
很久没动手写博客了,最近由于公司比较忙,接触了不同类容,对自己的技术和业务理解有了更深入的理解.今天有点小空,将前段时间所运用到的一些知识点记录下来. 由于公司业务需要统计一些数据,所以对于我们来说, ...
- C# 设置Excel打印选项及打印excel文档
C# 设置Excel打印选项及打印excel文档 打印Excel文档是一个很常见的操作,但有时候我们会碰到各种不同的打印需求,例如只打印一个Excel工作表的其中一部分,或打印时每页都有表头,或把工作 ...
- 设置Excel的自动筛选功能
单元格数字格式的问题 NPOI向Excel文件中插入数值时,可能会出现数字当作文本的情况(即左上角有个绿色三角),这样单元格的值就无法参与运算.这是因为在SetCellValue设置单元格值的时候使用 ...
- VSTO学习笔记(九)浅谈Excel内容比较
原文:VSTO学习笔记(九)浅谈Excel内容比较 说起文件内容比较,或许我们首先想到的是UltraCompare这类专业比较的软件,其功能非常强大,能够对基于文本的文件内容作出快速.准确的比较,有详 ...
- Java使用POI为Excel打水印,调整列宽并设置Excel只读(用户不可编辑)
本文介绍在Java语言环境下,使用POI为Excel打水印的解决方案,具体的代码编写以及相关的注意事项. 需求描述: 要求通过系统下载的Excel都带上公司的水印,列宽调整为合适的宽度,并且设置为不可 ...
- C#使用NOPI导入Excel
使用NOPI导入Excel文档 NOPI版本:2.3.0,依赖于NPOI的SharpZipLib版本:0.86,经测试适用于.net4.0+ 记录遇到的几个问题 NOPI中的IWorkbook接口:x ...
随机推荐
- WEB DYNPRO程序找文本
ABAP里代码扫描就是用的SOURCE SCAN. WEB DYNPRO里有个单独的 事务代码SE24进入,执行类CL_WDY_WB_NAMING_SERVICE的方法GET_CLASSNAME_FO ...
- 巧用指标平台DataIndex,五步法轻松实现指标管理
开发部门在做指标加工的全流程中,是否经常出现如下问题: · 业务部门看指标数据的时候,看到两个名称相似的指标,不清楚两个指标的差异性,来咨询开发部门指标计算口径,开发部门配合业务部门翻找代码,找出指标 ...
- ArcObject SDK 015 出图
1.核心出图代码 出图主要是靠IExport接口,继承该接口的类如下图所示. 出不同格式的图,实例化不同的类即可.例如导出jpg格式的图片的代码如下. private void Export(stri ...
- 你知道CAE软件的配置要求吗?
CAE软件是一类特殊的计算机软件,主要用于工程设计和分析.由于CAE软件的处理量非常大,因此对计算机的配置要求较高.在选择计算机配置时,需要考虑多个因素,包括CPU.GPU.内存和存储等. 首先,CP ...
- [abc313 h/ex] Group Photo
Ex - Group Photo 很牛的题 设\(A_0=A_{n+1}=INF\),那么对于每个\(B_i\)有\(B_i>\min(A_{i-1},A_i)\),所以考虑设\(C_i\)表示 ...
- Elastic学习之旅 (1) 初识ElasticSearch
大家好,我是Edison. 最近需要用到ElasticSearch,于是想要系统学习了解下,于是这就开始啦. 什么是ElasticSearch? ElasticSearch是一款开源的分布式搜索分析引 ...
- C# 启动windows 服务(通过cmd管理员方式和winform 方式)
参考来源: https://www.jb51.net/article/32645.htm https://www.cnblogs.com/appskyy/p/11019647.html (主要就是这个 ...
- Let’s Encrypt申请证书
前提 安装好ngixn,并配置解析好你的域名,仅仅留下证书配置处不填写即可. 安装certbot certbot 官方推荐的自动化脚本, 用来申请免费SSL证书的. (certbot中文翻译是 证书机 ...
- 前端开发系列006-基础篇之JavaScript数组基础
本文将介绍JavaScript语言中的数组,全文内容包括但不限于数组的简单介绍.数组的创建.数组中元素的访问.数组的类型以及数组相关的核心方法等内容,需要指出的是ES6 + 的数组相关特性并没有被纳入 ...
- vs 开发 qt 遇到 无法找到 Visual Studio 2010 的生成工具(平台工具集 =“v100”) 解决方案
参考链接 相关解决方案