Excel读取和写入的完整代码
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.IO;

namespace ConsoleTest
{
class Program
{
static void Main(string[] args)
{
//ReadFromExcelFile(@"H:\班级文件(15软件)\15级软件工程班名单.xls");
WriteToExcel(@"H:\班级文件(15软件)\15级软件工程班名单1.xls");
Console.ReadKey();
}
public static void ReadFromExcelFile(string filePath)
{
IWorkbook wk = null;
string extension = System.IO.Path.GetExtension(filePath);
try
{
using (FileStream fs = File.OpenRead(filePath))
{
if (extension.Equals(".xls"))
{
//把xls文件中的数据写入wk中
wk = WorkbookFactory.Create(fs);//new HSSFWorkbook(fs);
}
else
{
//把xlsx文件中的数据写入wk中
wk = WorkbookFactory.Create(fs);//new XSSFWorkbook(fs);
}
}
//读取当前表数据
ISheet sheet = wk.GetSheetAt(0);
IRow row = sheet.GetRow(0); //读取当前行数据
int offset = 0;
int lastRowNum = sheet.LastRowNum;//LastRowNum 是当前表的总行数-1(注意)
for (int i = 0; i <= lastRowNum; i++)
{
row = sheet.GetRow(i); //读取当前行数据
if (row != null)
{
int lastCellNum= row.LastCellNum;
//LastCellNum 是当前行的总列数
for (int j = 0; j < lastCellNum; j++)
{
//读取该行的第j列数据
string value = row.GetCell(j).ToString();
Console.Write(value.ToString() + " ");
}
Console.WriteLine("\n");
}
}
}
catch (Exception e)
{
//只在Debug模式下才输出
Console.WriteLine(e.Message);
}
}
public static void WriteToExcel(string filePath)
{
using (Stream fileStream = File.OpenWrite(filePath))
{
IWorkbook wb = new XSSFWorkbook();//如果生成xls则是HSSFWorkbook
ISheet sheet = wb.CreateSheet();
IRow row = sheet.CreateRow(0);//0行号
row.CreateCell(0).SetCellValue("rupeng");
row.CreateCell(1).SetCellValue(3.14);
wb.Write(fileStream);
}

}
}
}

最新文章

  1. Laravel5路由/home页面无法访问
  2. JSTL标签库的使用
  3. c# -- 读取文件夹中的所有文件(备忘)
  4. asp.net 小技巧
  5. 射频识别技术漫谈(8)&mdash;&mdash;动物标签【worldsing笔记】
  6. Android_Intent_passObject
  7. C++学习之容器的摸索
  8. Java学习笔记--NIO
  9. netty详解之reactor模型
  10. apidoc快速生成在线文档,apidoc生成静态文件的生成规则以及原理分析
  11. JS 时间转换为时间戳
  12. Flex和Servlet结合上传文件报错(一)
  13. Django 模版语法
  14. Angular路由——路由守卫
  15. 【深度学习】RNN | GRU | LSTM
  16. 安装AB编程软件提示安装失败时如何处理
  17. 【转载】 “强化学习之父”萨顿:预测学习马上要火,AI将帮我们理解人类意识
  18. Linux应用和系统库的2种安装方式---源码安装tarball和二进制rpm包
  19. iOS11开发教程(二十三)iOS11应用视图实现按钮的响应(3)
  20. Kafka+Zookeeper+Filebeat+ELK 搭建日志收集系统

热门文章

  1. 阿里云EDAS功能简介
  2. Qt5.10使用了qml后打包发布应用遇到的问题
  3. Java EE互联网轻量级框架整合开发— SSM框架(中文版带书签)、原书代码
  4. 邪淫真正的可怕危害 (转自学佛网:http://www.xuefo.net/nr/article54/544414.html)
  5. C#中,子线程与主线程之间的通信是如何实现(转)
  6. Python - Django - 装饰器版的登陆校验
  7. LeetCode_349. Intersection of Two Arrays
  8. systemctl service
  9. 如何修改WAMPServer默认的网站路径地址
  10. Python - 在CentOS7.5系统中安装Python3