/// <summary>
/// Excel->DataTable
/// </summary>
/// <param name="filePath">Excel文件路径</param>
public static DataTable ReadExcel(string filePath)
{
IWorkbook iwkX;
using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
iwkX = WorkbookFactory.Create(fs);
fs.Close();
}
//sheet
DataTable dt = new DataTable();
for (int h = ; h < iwkX.NumberOfSheets; h++)
{
ISheet sheet = iwkX.GetSheetAt(h);
var rows = sheet.GetRowEnumerator();
bool isMove = rows.MoveNext();
//循环sheet
if (isMove)
{
var Cols = (IRow)rows.Current;
dt.TableName = sheet.SheetName;
for (int i = ; i < Cols.LastCellNum; i++)
{
string str = Cols.GetCell(i).ToString();
dt.Columns.Add(Cols.GetCell(i).ToString());
}
while (rows.MoveNext())
{
var row = (IRow)rows.Current;
var dr = dt.NewRow();
for (int i = ; i < row.LastCellNum; i++)
{
var cell = row.GetCell(i);
if (cell == null)
{
dr[i] = "";
}
else
{
string strdr = cell.ToString();
dr[i] = cell.ToString();
}
}
dt.Rows.Add(dr);
}
}
} return dt;
}

最新文章

  1. MySQL 一致性读 深入研究
  2. 改变textView的个别字体颜色
  3. [Tool] csdn客户端开发(非官方版)
  4. 在Cortex-M系列上如何准确地做us级延时?
  5. pdo 事物的处理
  6. Go语言TCP/UDP Socket编程
  7. 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,循环控制及其优化
  8. 配置git DiffMerge工具
  9. ProfessionalKnowledgeArchitecture
  10. Tcl与Design Compiler (九)——综合后的形式验证
  11. 结合java.util.TreeMap源码理解红黑树
  12. 64位linux下安装ps模拟器ePSxe
  13. JAVA中循环删除list中元素的方法总结【转】
  14. python深拷贝,浅拷贝
  15. Git安装配置,和使用的简介
  16. 第8章 java中的并发工具类
  17. luogu4159 迷路 (矩阵加速)
  18. 【Shell】带颜色输出(白底x色)
  19. struct和[]byte的转换,注意结构体内变量首字母一定大写
  20. MSSQL2012中SQL调优(SQL TUNING)时CBO支持和常用的hints

热门文章

  1. 查看Android系统中硬件信息的文件
  2. 【PHP】如何将SESSION数据存放到Redis中
  3. @bzoj - 3724@ PA2014Final Krolestwo
  4. 如何打包发布加密的 Python 源代码
  5. Java——八种基本数据类型(常用类)
  6. salesforce零基础学习(九十八)Type浅谈
  7. 【原创】强撸基于 .NET 的 Redis Cluster 集群访问组件
  8. C# 什么是泛型 ?以及对泛型各方面的一些知识点的整理
  9. mysql主从同步失败 Relay log read failure: Could not parse relay log event entry
  10. 黎活明8天快速掌握android视频教程--14_把文件存放在SDCard