C#使用NPOI读写Excel的注意事项
NPOI的基本使用参照:https://www.cnblogs.com/lixiaobin/p/NPOI.html
既存文档读取修改方法
*既存Excel文档修改保存注意使用FileMode.Create,不然文档将会被损害无法打开。
*Excel文档不能有开启共享,不能有Object对象存在,否则重写的Excel文档会被损害无法打开。
IWorkbook book = null;
using (var file = File.Open(path, FileMode.OpenOrCreate, FileAccess.Read))
{
book = WorkbookFactory.Create(file);
file.Close();
} ISheet outputSheet = book?.GetSheet(sheetName) ?? book?.CreateSheet(sheetName); // 修改数据
// 省略 using (var file = new FileStream(path, FileMode.Create, FileAccess.Write))
{
book.Write(file);
file.Close();
}
单元格复制方法
如果你想将一个Excel文档的值复制到另一个Excel文档,格式设置需要注意使用CloneStyleFrom方法。(最多只能创建4000个CellStyle)
var sheet = book.CreateSheet("test");
var row = sheet.CreateRow(); var newCell=row.CreateCell();
newCell.SetCellValue(oldCell.StringCellValue); var newCellStyle = book.CreateCellStyle();
newCellStyle.CloneStyleFrom(oldCell.CellStyle); newCell.CellStyle = newCellStyle;
颜色自定义
如果NPOI自带的颜色不满足要求,可以自定义颜色。HSSFWorkbook的时候只能替换设置,XSSFWorkbook的场合是可以添加新的色调。
var style = workbook.CreateCellStyle();
style.BorderBottom = BorderStyle.Thin;
style.BorderLeft = BorderStyle.Thin;
style.BorderRight = BorderStyle.Thin;
style.BorderTop = BorderStyle.Thin; var sysColor = Color.FromArgb(, , );
if (workbook is HSSFWorkbook)
{
style.FillForegroundColor = IndexedColors.DarkBlue.Index;
((HSSFWorkbook)workbook).GetCustomPalette().SetColorAtIndex(IndexedColors.DarkBlue.Index, sysColor.R, sysColor.G, sysColor.B);
}
else
{
((XSSFCellStyle)style).SetFillForegroundColor(new XSSFColor(sysColor));
}
C#使用NPOI读写Excel的注意事项的更多相关文章
- NPOI读写Excel
1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 ...
- 【转】NPOI读写Excel
1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 2.NPOI是POI的C#版本,NPOI的行和列的index都是从0开始 ...
- NPOI读写Excel【转载】
参考示例:https://www.cnblogs.com/luxiaoxun/p/3374992.html 感谢! 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表): ...
- 使用NPOI读写Excel、Word
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...
- C#使用NPOI读写excel
本帖内容来自网络+自己稍作整理,已找不到原贴,侵删 个人比较习惯用NPOI操作excel,方便易理解.在宇宙第一IDE(笑)——VS2017中插入NPOI就很方便: 首先安装NPOI: 然后在.cs文 ...
- NPOI读写Excel组件封装Excel导入导出组件
后台管理系统多数情况会与Excel打交道,常见的就是Excel的导入导出,对于Excel的操作往往是繁琐且容易出错的,对于后台系统的导入导出交互过程往往是固定的,对于这部分操作,我们可以抽离出公共组件 ...
- NPOI 读写Excel
实例功能概述: 1.支持Excel2003以及2007 2.支持Excel读取到DataTable(TableToExcel) 3.支持DataTable导出到Excel(TableToExcel) ...
- Unity3d 使用NPOI读写Excel 遇到的问题
开发环境:unity5.3 NPOI(.net 2.0版 http://npoi.codeplex.com/) 运行环境:PC版, 其他平台没有测试 先上效果图: 实现步骤: 1.新建一个Exce ...
- 用插件NPOI读写excel
1.用插件NPOIusing NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using NPOI.HSSF.UserModel; public class E ...
随机推荐
- EF简单的CURD操作
/// <summary> /// EF添加数据 /// </summary> /// <param name="sender"></pa ...
- 图片上传js
var imgURL; function getImgURL(node) { try{ var file = null; if(node.files && node.files[0] ...
- 将JPA出参Iterable转为List
Iterable<Entity> geted = entityDao.findAll(); List<Entity> list = Lists.newArrays(); g ...
- 1. 做node项目 (第二个月)
工作栈: Node + Express + Mongoose + Mongodb + Vuejs 主要做了 mongodb的 curd , 因为以前做 PHP + MySql 所以基本大同小异. n ...
- 电脑小知识-win10
设置开机自启 一直想设置几个软件开机自启,尤其是文件搜索类和截图软件,不然每次打开电脑都要双击好几个工具,下面就记录一下如何设置开机自启. 1.先打开咱们的任务管理器,看看都有什么是开机自启的: 可以 ...
- rest参数与扩展运算符
rest参数与扩展运算符 rest参数 当遇上这样一种需求:对于输入的参数,求和返回,但传入的参数个数并不确定. // 在es5中,通常是使用函数自身的arguments对象实现的 function ...
- Linux批量复制文件到文件夹
echo dirname* | xargs -n 1 cp -v filename 把当前目录下 filename文件拷贝到以dirname开头的不同文件夹里.
- HQL知识点一
Hive创表语法 create [external] table [if not exists] [db_name.]table_name (col1_name data_type,col2_name ...
- pycrypto安装各种方法试了,最后这种最快速最方便
需要安装vs,然后按照如下步骤 这个不是在cmd中执行 而是在vs的命令行中执行
- 多线程系列之自己实现一个 lock 锁
我们面试中经常会被问到多线程相关知识,这一块内容往浅了说大家都会,但是一问到底层实现原理,我们往往就一脸懵逼. 这段时间准备好好学习多线程,接下来会写一系列关于多线程的知识. 我们首先要了解线程,百度 ...