- 浏览: 181511 次
- 性别:
- 来自: 广州
文章分类
最新评论
在人员初始化的时候,通常会用到excel编辑好,导入到数据库中。此处就给出了excel转datatable的工具类,后续写入数据库就省略了
附件为需要用到的第三方dll
参考:https://www.cnblogs.com/lunawzh/p/7966214.html
附件是NPOi最新的2.3.0.0版本,里面的dll都需要引用
#region excel导入为datatable /// <summary> /// 将excel中的数据导入到DataTable中 /// </summary> /// <param name="isFirstRowColumn">第一行是否是DataTable的列名</param> /// <param name="fileName">文件路径</param> /// <param name="sheetName">excel工作薄sheet的名称</param> /// <returns>返回的DataTable</returns> public static DataTable ExcelToDataTable(bool isFirstRowColumn, string fileName, string sheetName = "") { if (string.IsNullOrEmpty(fileName)) { throw new ArgumentNullException(fileName); } var data = new DataTable(); IWorkbook workbook = null; FileStream fs = null; try { fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); if (fileName.IndexOf(".xlsx", StringComparison.Ordinal) > 0) { workbook = new XSSFWorkbook(fs); } if (fileName.IndexOf(".xls", StringComparison.Ordinal) > 0) { workbook = new HSSFWorkbook(fs); } ISheet sheet = null; if (workbook != null) { //如果没有找到指定的sheetName对应的sheet,则尝试获取第一个sheet if (sheetName == "") { sheet = workbook.GetSheetAt(0); } else { sheet = workbook.GetSheet(sheetName) ?? workbook.GetSheetAt(0); } } if (sheet == null) return data; var firstRow = sheet.GetRow(0); //一行最后一个cell的编号 即总的列数 int cellCount = firstRow.LastCellNum; int startRow; if (isFirstRowColumn) { for (int i = firstRow.FirstCellNum; i < cellCount; ++i) { var cell = firstRow.GetCell(i); var cellValue = cell.StringCellValue; if (cellValue == null) continue; var column = new DataColumn(cellValue); data.Columns.Add(column); } startRow = sheet.FirstRowNum + 1; } else { startRow = sheet.FirstRowNum; } //最后一列的标号 var rowCount = sheet.LastRowNum; for (var i = startRow; i <= rowCount; ++i) { var row = sheet.GetRow(i); //没有数据的行默认是null if (row == null) continue; var dataRow = data.NewRow(); for (int j = row.FirstCellNum; j < cellCount; ++j) { //同理,没有数据的单元格都默认是null if (row.GetCell(j) != null) dataRow[j] = row.GetCell(j).ToString(); } data.Rows.Add(dataRow); } return data; } catch (IOException ioex) { throw new IOException(ioex.Message); } catch (Exception ex) { throw new Exception(ex.Message); } finally { if (fs != null) { fs.Close(); } } } #endregion
附件为需要用到的第三方dll
参考:https://www.cnblogs.com/lunawzh/p/7966214.html
附件是NPOi最新的2.3.0.0版本,里面的dll都需要引用
- 附件.zip (1.6 MB)
- 下载次数: 0
发表评论
-
枚举类型帮助类 EnumHelper
2019-09-02 11:29 477项目中出现的问题: 项目中会有很多地方用到文字提醒,如果在每个 ... -
C# zip文件解压压缩帮助类
2019-08-30 11:43 548原文: https://www.cnblogs.com/sun ... -
使用ITextSharp对pdf文件打水印
2019-08-19 17:13 688在项目中需要对pdf文件中的部分信息进行遮挡隐藏,于是找到了I ... -
HMAC_SHA1加密
2019-08-16 10:36 903hmacsha1在很多签名计算中都很常用了,这里对两种可能返回 ... -
.NET/java Office组件神器——Aspose.Total 17.x/18.x/19.x破解版+破解补丁下载【转】
2019-07-29 15:22 2470先上大神的网站地址: [url] https://masuit ... -
通过UserAgent判断智能手机(设备,Android,IOS)【转】
2019-07-02 17:51 915///<summary> /// ... -
8000401a 因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码【转】
2019-06-12 17:36 2111服务器使用了word的类库,在使用过程中日志报标题错误 解决 ... -
C#(同步调用、异步调用、异步回调)--转
2019-06-05 12:04 641本文将主要通过“同步调用”、“异步调用”、“异步回调”三个示例 ... -
C# 利用word书签写入自定义数据
2019-05-14 18:08 582原文参考地址: https://www.cnblogs.com ... -
C# 项目中引用office组件后在服务器遇到的问题集锦
2019-02-13 16:03 8841、要在服务器安装相同版本的office完整版程序 本地测试机 ... -
C# word转pdf
2019-01-17 14:55 635写在最前面,如果要部署,服务器需要安装相同版本的office, ... -
C# 操作word
2019-01-17 14:49 469需要单独引入的是COM中的Microsoft Office 1 ... -
给上传的文件生成缩略图(图片和视频)
2018-11-28 17:47 813备注:里面用到的ffmpeg ... -
获取视频文件的截图
2018-11-28 17:36 638视频获取第一帧截图的方法: https://www.cnblo ... -
DataTable导出excel
2018-11-02 16:36 1112网上有很多关于导出的例子,这里讲一个利用NPOI导出excel ... -
未能加载文件或程序集,System.Net.Http或它的某一个依赖项。系统找不到指定的文件。
2018-10-30 17:21 4437具体的错误描述: 未能加载文件或程序集“System.Net. ... -
EF重新封装查询
2018-10-22 17:49 1027今天搜索批量删除时,无意间翻到这篇文章感觉思路不错mark一下 ... -
EF中批量操作
2018-10-22 15:54 890在正常的使用过程中,如果要批量删除,需要先搜索符合条件的结果集 ... -
MVC学习之七_____上传多张图片
2018-09-19 15:55 1104图片上传控件:WebUploader 后台代码: pu ... -
MVC学习之六_____上传单张图片
2018-09-05 16:00 508模板页代码: @{ Layout = nul ...
相关推荐
两种方式 一种oledb 一种 excel.application excel 转为 datatable
Excel,Datatable;Excel导入到Datatable中,内涵源码,用于学习
读取Excel数据到DataTable,用于程序开发
实现excel导入数据的时候,主要分两步。首先要导入到datatable中,之后在进行修改数据库数据(第二步应该都会了吧)
改程序实现了Excel的数据导入到Datatable,在后台动态生成Lable和文本框等控件,以及如何取到控件的值和生成文本文档、添加显示图片等等的源代码,下载所需积分怎么涨这么快,给大家点福利,重置为5积分。
本程序详细描述了excel转化成datatable 并加载到datagridview 中的实现过程,简单便捷,代码完整,下载之后运行即可
将Excel数据读取到DataTable中,通过ReadExcelToDatatable方法读取
C#操作EXCEL EXCEL类库 Excel模板处理 将DataTable数据写入Excel文件 C#数据写入EXCEL EXCEL样式管理帮助类库
可以将excel快速读取到datatable,方便调用。 非常实用哦
winform中将Datatable数据导出到Excel表格中,该项目包含了例子,能使个人能更加了解winform将datatable数据导出到excel的整个流程,本资源也可拿来即用,只需要稍加修改即可。
DataGrid显示数据,将DataTable数据导出到EXCEL文件 c#源代码!!!
基于npoi的Excel读取,处理npoi读取Excel时的时间错误问题。能够选择Sheet列表读取。将数据转换成为datatable类型。
C# NPOI 导出Excel成DataTable,安装NPOI后,只需要传入开始行,总列数就可以把Excel中的数据读取成DataTable,使用方便,代码简单易懂
从Excel_导入数据到DataTable
Excel文档导入到C# DataTable
将指定Excel文件中的数据转换成DataTable的源代码
实现Xml个数的Excel的...在boeing系统中,此技术主要使用在对中英双语语言包文件存储上,如果需要维护的话,可以直接用Excel打开进行维护,保存后,在程序中便可以直接使用,极力推荐大家使用! 在附件中有使用方法!
1 Use VS2010 C# WinForm 2 Use NPOI 2 1 3 net2 3 ExcelToDataTable and DataTableToExcel
datatable数据导出excel,datatable数据导出excel