Excel的创建和读取NPOI
项目中经常用到需要操作Excel文件,例如:导出数据库中的数据,读取数据等。但是电脑又没有安装office,不能直接调用微软的库,最后经过查找,找到这样的一个不用安装office的库。一个.NET库,可以读取/写入没有安装Microsoft Office的Office格式。没有COM +,没有互操作。
public class ExcelNpoiTest
{
/// <summary>
/// NPOI基础的Excel创建
/// </summary>
public static void CreateExcel()
{
//创建工作薄
HSSFWorkbook wk = new HSSFWorkbook();
//创建一个名称为mySheet的表
ISheet tb = wk.CreateSheet("mySheet");
for (int i = ; i < ; i++)
{
//创建行
IRow row = tb.CreateRow(i);
for (int j = ; j < ; j++)
{
//创建列
ICell cell = row.CreateCell(j);
//赋值
cell.SetCellValue($"[{i},{j}]");
}
}
//打开一个现有文件或创建一个新文件以进行写入。
using (FileStream fs = File.OpenWrite(@"D:\myxls.xls"))
{
//向打开的这个xls文件中写入mySheet表并保存。
wk.Write(fs);
}
} /// <summary>
/// NPOI基础的Excel读取
/// </summary>
public static void ReadExcel()
{
//打开现有文件以进行读取。
using (FileStream fs = File.OpenRead(@"D:\myxls.xls"))
{
//把文件写入wk中
HSSFWorkbook wk = new HSSFWorkbook(fs);
for (int i = ; i < wk.NumberOfSheets; i++)
{
//获取sheet
ISheet sheet = wk.GetSheetAt(i);
for (int j = ; j < sheet.LastRowNum; j++)
{
//获取行
IRow row = sheet.GetRow(j);
if (row != null)
{
for (int k = ; k < row.LastCellNum; k++)
{
//获取列
ICell cell = row.GetCell(k);
if (cell != null)
{
//获取值
Console.Write(cell.ToString());
}
}
}
Console.WriteLine();
}
}
}
} }
Excel的创建和读取NPOI的更多相关文章
- NPOI之使用EXCEL模板创建报表
因为项目中要用到服务器端创建EXCEL模板 无法直接调用EXCEL 查了下发现NPOI很方便很简单就实现了 其中走了点弯路 第一次弄的时候发现输出的值是文本不是数字型无法直接计算公式 然后又发现打开报 ...
- C# 处理Excel公式(一)——创建、读取Excel公式
对于数据量较大的表格,需要计算一些特殊数值时,我们通过运用公式能有效提高我们数据处理的速度和效率,对于后期数据的增删改查等的批量操作也很方便.此外,对于某些数值的信息来源,我们也可以通过读取数据中包含 ...
- C# -- 使用Aspose.Cells创建和读取Excel文件
使用Aspose.Cells创建和读取Excel文件 1. 创建Excel Aspose.Cells.License li = new Aspose.Cells.License(); li.SetLi ...
- C# 读取Excel表格内容,以及NPOI的使用
在实际的开发中,我们可能需要读写word或者Excel的内容,在我开发的项目中,需要读取Excel的内容,并将相对应的内容存储到数据库中,这里简单跟大家分享一下,希望能够帮助一些人. 我相信在读写wo ...
- excel2003和excel2007文件的创建和读取
excel2003和excel2007文件的创建和读取在项目中用的很多,首先我们要了解excel的常用组件和基本操作步骤. 常用组件如下所示: HSSFWorkbook excel的文档对象 HSSF ...
- 一个由正则表达式引发的血案 vs2017使用rdlc实现批量打印 vs2017使用rdlc [asp.net core 源码分析] 01 - Session SignalR sql for xml path用法 MemCahe C# 操作Excel图形——绘制、读取、隐藏、删除图形 IOC,DIP,DI,IoC容器
1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符,如“&”,“- ...
- C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制
在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...
- [转载]MongoDB学习 (四):创建、读取、更新、删除(CRUD)快速入门
本文介绍数据库的4个基本操作:创建.读取.更新和删除(CRUD). 接下来的数据库操作演示,我们使用MongoDB自带简洁但功能强大的JavaScript shell,MongoDB shell是一个 ...
- Cookie操作类、 包括创建、读取、修改、获取、销毁cookie
Cookie操作类. 包括创建.读取.修改.获取.销毁cookie import java.util.Hashtable; import java.util.Iterator; import java ...
随机推荐
- NodeJS2-4环境&调试----global变量
global全局对象,希望把全局访问到的对象,属性和方法等挂到global对象上,除了用户自定义的方法外,global本身默认带着一些常用的属性和方法的 CommonJS Buffer.process ...
- 将数据库中数据导出为excel表格
public class Excel { private static Logger logger = LoggerFactory.getLogger(Excel.class); /** * 导出项目 ...
- springboot 集成jsp
建立好springboot项目,确定能成功运行 在application.properties文件中添加 server.context-path=/bootserver.port=8080spring ...
- java程序员面试经历(不忘初心,永不放弃,方得始终)。
其实一直想静下心好好写一点博客,记录下青春,但一直忙于学习,写bug.....转眼间2017只剩下最后几天,岁月无情划过,不留痕迹,唯有稀疏地中海.哈哈,本篇文章主要是想分享下刚毕业入门找工作的一点小 ...
- JS中原始值和引用值分析
JS中变量中两种类型的值:原始值,引用值 原始值是存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置. var x = 1; //1就是一个原始值,变量x中存放的就是原始 ...
- 5. abp集成asp.net core
一.前言 参照前篇<4. abp中的asp.net core模块剖析>,首先放张图,这也是asp.net core框架上MVC模块的扩展点 二.abp的mvc对象 AbpAspNetCor ...
- Nginx入门简介和反向代理、负载均衡、动静分离理解
场景 Nginx简介 Nginx ("engine x")是一个高性能的 HTTP 和反向代理服务器 特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页 ...
- GeoServer 2.15.0版本跨域问题解决方法
geoserver默认不开启跨域设置,开启步骤如下: 1.修改配置文件web.xml,该配置文件的路径如下 \webapps\geoserver\WEB-INF\web.xml 2.搜索:cross- ...
- 安卓JNI精细化讲解,让你彻底了解JNI(二):用法解析
目录 用法解析 ├── 1.JNI函数 │ ├── 1.1.extern "C" │ ├── 1.2.JNIEXPORT.JNICALL │ ├── 1.3.函数名 │ ├── 1 ...
- 参加杭州 2019 AI Bootcamp有感与总结(2)
接上篇 参加杭州 2019 AI Bootcamp有感与总结(1) - repeatedly - 博客园 午餐畅谈的收获 先感谢主办方提供的午餐,中午午休的时候,大家聊了很多,或者说主要是听大佬谈.聊 ...