C#读取Excel转换为DataBle
2024-09-07 17:03:22
/// <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;
}
最新文章
- MySQL 一致性读 深入研究
- 改变textView的个别字体颜色
- [Tool] csdn客户端开发(非官方版)
- 在Cortex-M系列上如何准确地做us级延时?
- pdo 事物的处理
- Go语言TCP/UDP Socket编程
- 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,循环控制及其优化
- 配置git DiffMerge工具
- ProfessionalKnowledgeArchitecture
- Tcl与Design Compiler (九)——综合后的形式验证
- 结合java.util.TreeMap源码理解红黑树
- 64位linux下安装ps模拟器ePSxe
- JAVA中循环删除list中元素的方法总结【转】
- python深拷贝,浅拷贝
- Git安装配置,和使用的简介
- 第8章 java中的并发工具类
- luogu4159 迷路 (矩阵加速)
- 【Shell】带颜色输出(白底x色)
- struct和[]byte的转换,注意结构体内变量首字母一定大写
- MSSQL2012中SQL调优(SQL TUNING)时CBO支持和常用的hints
热门文章
- 查看Android系统中硬件信息的文件
- 【PHP】如何将SESSION数据存放到Redis中
- @bzoj - 3724@ PA2014Final Krolestwo
- 如何打包发布加密的 Python 源代码
- Java——八种基本数据类型(常用类)
- salesforce零基础学习(九十八)Type浅谈
- 【原创】强撸基于 .NET 的 Redis Cluster 集群访问组件
- C# 什么是泛型 ?以及对泛型各方面的一些知识点的整理
- mysql主从同步失败 Relay log read failure: Could not parse relay log event entry
- 黎活明8天快速掌握android视频教程--14_把文件存放在SDCard