设为首页 加入收藏

TOP

Npoi简单读写Excel(二)
2019-09-17 18:44:56 】 浏览:61
Tags:Npoi 简单 读写 Excel
);
22 if (sheetname != null) 23 { 24 sheet = workbook.GetSheet(sheetname); 25 if (sheet == null) //如果没有找到指定的sheetName对应的sheet,则尝试获取第一个sheet 26 { 27 sheet = workbook.GetSheetAt(0); 28 } 29 } 30 else 31 { 32 sheet = workbook.GetSheetAt(0); 33 } 34 if (sheet != null) 35 { 36 IRow firstrow = sheet.GetRow(0); 37 int cellCount = firstrow.LastCellNum; //行最后一个cell的编号 即总的列数 38 if (isFirstRowColumn) 39 { 40 for (int i = firstrow.FirstCellNum; i < cellCount; i++) 41 { 42 ICell cell = firstrow.GetCell(i); 43 if (cell != null) 44 { 45 string cellvalue = cell.StringCellValue; 46 if (cellvalue != null) 47 { 48 DataColumn column = new DataColumn(cellvalue); 49 data.Columns.Add(column); 50 } 51 } 52 } 53 startrow = sheet.FirstRowNum + 1; 54 } 55 else 56 { 57 startrow = sheet.FirstRowNum; 58 } 59 //读数据行 60 int rowcount = sheet.LastRowNum; 61 for (int i = startrow; i < rowcount; i++) 62 { 63 IRow row = sheet.GetRow(i); 64 if (row == null) 65 { 66 continue; //没有数据的行默认是null 67 } 68 DataRow datarow = data.NewRow();//具有相同架构的行 69 for (int j = row.FirstCellNum; j < cellCount; j++) 70 { 71 if (row.GetCell(j) != null) 72 { 73 datarow[j] = row.GetCell(j).ToString(); 74 } 75 } 76 data.Rows.Add(datarow); 77 } 78 } 79 return data; 80 } 81 catch (Exception ex) 82 { 83 Console.WriteLine("Exception: " + ex.Message); 84 return null; 85 } 86 finally { fs.Close(); fs.Dispose(); } 87 } 88 }

 

测试代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Data;
 6 
 7 using NPOIHelperTool;
 8 using Bll;
 9 namespace ConsoleApplication1
10 {
11     class Program
12     {
13         static void Main(string[] args)
14         {
15             DataTable data = new DataTable();
16             for (int i = 0; i < 5; ++i)
17             {
18                 data.Columns.Add("Columns_" + i.ToString(), typeof(string));
19             }
20 
21             for (int i = 0; i < 10; ++i)
22             {
23                 DataRow row = data.NewRow();
24                 row["Columns_0"] = "item0_" + i.ToString();
25                 row["Columns_1"] = "item1_" + i.ToString();
26                 row["Columns_2"] = "item2_" + i.ToString();
27                 row["Columns_3"] = "item3_" + i.ToString();
28                 row["Columns_4"] = "item4_" + i.ToString();
29                 data.Rows.Add(row);
30             }
31 
32             ExcelHelper h = new ExcelHelper();
33             DataTable de = h.ExcelToDataTable(@"E:\Myuser.xls", "Sheet1", true);
34             int c = h.DataTableToExcel(data, @"E:\Test.xls", "sheet1", true);
35             IList<student> a = TypeUtil.ToList<student>(de);
36         }
37 
38     }
39     class student
40     {
41         public string Id { get; set; }
42         public string Name { get; set; }
43         public string nc { get; set; }
44     }
45 }
View Code

 

参考:

https://www.cnblogs.com/Raning/p/5872822.html

https://blog.csdn.net/dcrmg/article/details/52356236

http://www.cnblogs.com/Erik_Xu/archive/2012/06/08/2541957.html

 

作者:遥远的Ta

出处:https://www.cnblogs.com/lycb

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C#控件——批量化隐藏或显示同类.. 下一篇.NetCore WebApi——Swagger简单..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目