项目中经常用到需要操作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();
}
}
}
} }

最新文章

  1. JavaScript单元测试框架JsUnit基本介绍和使用
  2. paip.2013年技术趋势以及热点 v3.0 cao
  3. mysql之对触发器的操作
  4. QT移植
  5. Android完全退出activity
  6. java传值与传引用总结
  7. 使用c语言实现linux数据库的操作
  8. Centos7.0关闭防火墙
  9. 初始配置JDK
  10. 深入 JAVA里面关于byte数组和String之间的转换问题
  11. 实用小技巧(一):UIScrollView中上下左右滚动方向的判断
  12. docker cmd list
  13. Centos6.5下通过shell脚本快速安装samba服务器
  14. iOS 11开发教程(十九)iOS11应用视图美化按钮之设置按钮的外观
  15. [UI] 03 - Bootstrap: component
  16. 一篇文章带你看懂Cloudflare信息泄露事件
  17. 大数据【一】集群配置及ssh免密认证
  18. 关于git远程版本库的一些问题之解决
  19. git工作流教程
  20. 在IE、fixfox、chrome等浏览器中ajax提交成功后,打开新标签页面被浏览器拦截问题[转]

热门文章

  1. eclipse配置svn导出项目
  2. GHOST CMS - 配置 Config
  3. composer入门 一些简单常用的命令介绍
  4. oracle性能优化(项目中的一个sql优化的简单记录)
  5. python通过http下载文件的方法
  6. SpringAOP中切入点的高级使用
  7. How to: Apply Attributes to Entity Properties when Using Model First 如何:在ModelFirst时将属性应用于实体属性
  8. jQuery总结02_jq的dom操作+属性操作
  9. 1.Ansible自动化管理工具
  10. Iterable与Collection源码学习