爽妹妹,兽族大讲堂,福州砍人
1 public class exceloperator 2 { 3 public static list<datatable> read(string filename) 4 { 5 list<datatable> tables = new list<datatable>(); 6 if (!file.exists(filename)) 7 return tables; 8 var fs = new filestream(filename, filemode.open, fileaccess.read); 9 iworkbook workbook = null; 10 if (filename.indexof(".xlsx") > 0) 11 { 12 // 2007版本 13 workbook = new xssfworkbook(fs); 14 } 15 else if (filename.indexof(".xls") > 0) 16 { 17 // 2003版本 18 workbook = new hssfworkbook(fs); 19 } 20 21 var workbooks = workbook.getenumerator(); 22 while (workbooks.movenext()) 23 { 24 isheet sheet = workbooks.current as isheet; 25 datatable dt = new datatable(sheet.sheetname); 26 var rows = sheet.getrowenumerator(); 27 while (rows.movenext()) 28 { 29 irow row = rows.current as irow; 30 if (row.rownum == 0) 31 { 32 row.cells.foreach(cell => 33 { 34 dt.columns.add(cell.stringcellvalue); 35 }); 36 } 37 else 38 { 39 var dr = dt.newrow(); 40 for (int i = 0; i < row.cells.count; i++) 41 { 42 dr[i] = row.cells[i].tostring(); 43 } 44 dt.rows.add(dr); 45 } 46 } 47 48 tables.add(dt); 49 } 50 return tables; 51 } 52 }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论