private DataTable TurnExcelToDataTable(string path)
        {
            try
            {
                if (Path.GetExtension(path).Contains("xlsx"))  //office版本2007及以上
                {
                    XSSFWorkbook hssfworkbook = null;
                    using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read))
                    {
                        hssfworkbook = new XSSFWorkbook(file);
                    }

//第一个sheet页
                    ISheet sheet = hssfworkbook.GetSheetAt(0);
                    string sheetName = hssfworkbook.GetSheetName(0);
                    DataTable dt = new DataTable();
                    IRow headerRow = sheet.GetRow(0);
                    int cellCount = headerRow.LastCellNum;
                    for (int i = headerRow.FirstCellNum; i < cellCount; i++)
                    {
                        DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
                        dt.Columns.Add(column);
                    }
                    int rowCount = sheet.LastRowNum;
                    for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++)
                    {
                        IRow row = sheet.GetRow(i);
                        DataRow dataRow = dt.NewRow();

if (row != null)
                        {
                            for (int j = row.FirstCellNum; j < cellCount; j++)
                            {
                                if (row.GetCell(j) != null)
                                    dataRow[j] = row.GetCell(j).ToString();
                                else dataRow[j] = "";
                            }
                            dt.Rows.Add(dataRow);
                        }
                    }
                    sheet = null;
                    hssfworkbook = null;
                    return dt;
                }
                else
                {
                    HSSFWorkbook hssfworkbook = null;
                    using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read))
                    {
                        hssfworkbook = new HSSFWorkbook(file);
                    }

//第一个sheet
                    ISheet sheet = hssfworkbook.GetSheetAt(0);
                    string sheetName = hssfworkbook.GetSheetName(0);
                    DataTable dt = new DataTable();
                    IRow headerRow = sheet.GetRow(0);
                    int cellCount = headerRow.LastCellNum;
                    for (int i = headerRow.FirstCellNum; i < cellCount; i++)
                    {
                        DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue);
                        dt.Columns.Add(column);
                    }
                    int rowCount = sheet.LastRowNum;
                    for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++)
                    {
                        IRow row = sheet.GetRow(i);
                        DataRow dataRow = dt.NewRow();
                        for (int j = row.FirstCellNum; j < cellCount; j++)
                        {
                            if (row.GetCell(j) != null)
                                dataRow[j] = row.GetCell(j).ToString();
                            else dataRow[j] = "";
                        }
                        dt.Rows.Add(dataRow);
                    }
                    sheet = null;
                    hssfworkbook = null;
                    return dt;
                }
            }
            catch(exception ex)
            {

MessageBox.show(ex.message);
                return null;
            }
        }

C#把excel数据转换成DataTable相关推荐

  1. 使用Echarts将Excel数据转换成色彩地图HTML小工具

    朋友有个需求想要把excel数据转换成地图分布图,而且想要动态修改数据生成不同时间段的数据,于是我就想办法给他做了个工具,下面是所有代码逻辑,很简单代码,结尾附带源码文件,只有一个html文件,很方便 ...

  2. 将GrilView中的数据转换成DataTable

    //在webform开发中难免会遇到将GrilView中的数据转换成DataTable,下面的类将实现这个功能,但仅是显示出来的数据,如有分页得另行处理. using System; using Sy ...

  3. windows系统下如何把excel数据转换成markdown格式的表格

    如图,假设我有一个excel表格,想把里面的数据转换成markdown格式的表格: 只需选中excel表格里这些数据, 打开typero这个软件: 按Ctrl V,excel表格的数据就自动被转换成了 ...

  4. xlsx.full.js读取Excel数据转换成二维数组,sheet_to_array

    xlsx.full.js读取Excel的sheet数据转换成二维数组,sheet_to_array 解析sheet数据为二维数组 测试方法 效果 鉴于js-xlsx.js没有XLSX.util.she ...

  5. 将excel转为python的字典_python读取excel数据转换成字典

    以上面的excel格式,输出字典类型: import xlrd def read_excel_data(): filename = 'E:\学历列表.xls' data = xlrd.open_wor ...

  6. excel数据转换成对应公式

    今天,我们通过excel表格来实现数据公式的提取. 0.76 24 0.7 23 0.64 22 0.58 21 0.54 20 0.5 19 0.47 18 0.43 17 0.41 16 0.38 ...

  7. Lua工具:Excel数据转换成Lua文件

    现在很多手游使用Cocos2dx + Lua 的开发模式,在这过程中,很多游戏的基础数据,放在哪里,什么格式,怎么做效率最高. 当然是你已经采用的开发模式了, 基础数据做成Lua 文件,才是最好的,读 ...

  8. TXT文本数据转换成Excel表格

    TXT文本数据转换成Excel表格  打开EXCEL-数据--获取外部数据--导入文本文件--找到文件点导入--选择分隔符号--下一步--(逗号打勾,空格打勾,其他打勾)

  9. word列表数据计算机,怎么把树状图的数据填成excel表格-谁会计算机啊,怎么把word里的表格数据转换成簇状......

    excel中生成后的数据透视表如何把树形结构每层的空... 打开Word文档窗口,切换到"插入"功能区.在"插图"分组中单击"图表"按钮. ...

  10. java table数据转excel,excel将数据转化成表格-如何将java数据转换成Excel表格

    excel 怎么把三列数据转换成一张表? 1.打开 OCR识别软然后单击"打开图像/PDF-"按钮 2弹出的"打开图窗口中,选择需要的扫描文件, 3.然后单击" ...

最新文章

  1. javaweb带父标签的自定义标签
  2. python去除字符串两边的空格_Python去除字符串两端空格的方法
  3. 一篇总结的很好的Spring data jpa 文章,里面包含多种查询方式,可以结合api使用
  4. 百度上线独立视频App百度看看,能搜到微视、B站内容?
  5. 8080端口被占用bug解决办法
  6. html5-table布局
  7. python编程(orm原理和实践)
  8. hnu 暑期实训之最少钱币数
  9. 机器人编程python代码_自己动手开发智能聊天机器人完全指南(附python完整源码)...
  10. 2016年物联网行业十大并购事件
  11. outermost shell_outermost是什么意思_outermost的翻译_音标_读音_用法_例句_爱词霸在线词典...
  12. web前端性能优化的技巧
  13. operation is executing and cannot be enqueued
  14. 谈谈对从业IT行业看法
  15. 在Microsoft Office 2007中检测和修复应用程序
  16. Android Studio Entry name *.xml collided解决方案
  17. Windows服务器双网卡冲突
  18. Fedora 30 将默认启用 DNF-best 模式
  19. 医学影像研究的重要性 计算机,计算机辅助医学影像诊查之关键学习技术研究.doc...
  20. ECCV2022细粒度图像检索SEMICON学习记录

热门文章

  1. 电脑硬件基础知识科普
  2. 单片机24秒倒计时c语言,基于51单片机的篮球24秒倒计时器
  3. 如何使用计算机计算平方面积,平方怎么算面积公式-3种方法详解须知
  4. VM16-ubuntu16桥接网络频繁掉线
  5. 一个失败的项目管理案例
  6. 通过对TCPWindowSize的调整对网络流量的性能优化
  7. Java对象的生与死
  8. 在网址前加神秘字母,让你打开新世界(z)
  9. 比较器应用一:滞回比较器
  10. 今日头条文章评论内容爬取