读取EXCEL的办法
2016-07-13 16:59
369 查看
private void button9_Click(object sender, EventArgs e) { var folder =new FolderBrowserDialog(); if (folder.ShowDialog() == DialogResult.OK) { GetAllDirList(folder.SelectedPath); var SixCount = 0; var SevenCount = 0; var sixsb = new StringBuilder(); var sevensb = new StringBuilder(); for (var i = 0; i < fl.Count; i++) { var six = false; var seven = false; var fi = (FileInfo)fl[i]; var dataTable = ReadExcel(fi.FullName); for (var k = 0; k < dataTable.Rows.Count; k++) { if (dataTable.Columns.Count == 6) { var a0 = dataTable.Rows[k][0].ToString(); var a1 = dataTable.Rows[k][1].ToString(); var a2 = dataTable.Rows[k][2].ToString(); var a3 = dataTable.Rows[k][3].ToString(); var a4 = dataTable.Rows[k][4].ToString(); var a5 = dataTable.Rows[k][5].ToString(); if ((a0 == "") || (a1 == "") || (a2 == "") || (a3 == "") || (a4 == "") || (a5 == "")) { continue; } six = true; sixsb.Append(dataTable.Columns[0].ColumnName + " " + dataTable.Columns[1].ColumnName + " " + dataTable.Columns[2].ColumnName + " " + dataTable.Columns[3].ColumnName + " " + dataTable.Columns[4].ColumnName + " " + dataTable.Columns[5].ColumnName); sixsb.Append("\r\n"); sixsb.Append(a0 + " " + a1 + " " + a2 + " " + a3 + " " + a4 + " " + a5); sixsb.Append("\r\n"); } if (dataTable.Columns.Count == 7) { var a0 = dataTable.Rows[k][0].ToString(); var a1 = dataTable.Rows[k][1].ToString(); var a2 = dataTable.Rows[k][2].ToString(); var a3 = dataTable.Rows[k][3].ToString(); var a4 = dataTable.Rows[k][4].ToString(); var a5 = dataTable.Rows[k][5].ToString(); var a6 = dataTable.Rows[k][6].ToString(); if ((a0 == "") || (a1 == "") || (a2 == "") || (a3 == "") || (a4 == "") || (a5 == "") || (a6 == "")) { continue; } seven = true; sevensb.Append(dataTable.Columns[0].ColumnName + " " + dataTable.Columns[1].ColumnName + " " + dataTable.Columns[2].ColumnName + " " + dataTable.Columns[3].ColumnName + " " + dataTable.Columns[4].ColumnName + " " + dataTable.Columns[5].ColumnName + " " + dataTable.Columns[6].ColumnName); sixsb.Append("\r\n"); sevensb.Append(a0 + " " + a1 + " " + a2 + " " + a3 + " " + a4 + " " + a5 + " " + a6); sevensb.Append("\r\n"); } } if (six) SixCount++; if (seven) SevenCount++; Program.MyFrm.SetTextMessage("SixCount:" + SixCount); Program.MyFrm.SetTextMessage("SevenCount:" + SevenCount); Program.MyFrm.SetTextMessage("========以下为六个字段的信息======================================"); Program.MyFrm.SetTextMessage(sixsb.ToString()); Program.MyFrm.SetTextMessage("========以下为七个字段的信息======================================"); Program.MyFrm.SetTextMessage(sevensb.ToString()); } } } private static DataTable ReadExcel(string strFileName) { var book = new Workbook(strFileName); var sheet = book.Worksheets[0]; var cells = sheet.Cells; return cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, true); } private static ArrayList fl = new ArrayList(); //我把ArrayList当成动态数组用,非常好用 private static void GetAllDirList(string strBaseDir) { fl.Clear(); var di = new DirectoryInfo(strBaseDir); var diA = di.GetDirectories(); var fiA = di.GetFiles();//获得了所有起始目录下的文件 for (var i = 0; i < fiA.Length; i++) { fl.Add(fiA[i]); } for (var i = 0; i < diA.Length; i++) { GetAllDirList(diA[i].FullName); } }
相关文章推荐
- mysql function
- Java的23种设计模式01-单例模式(Singleton)
- 学技术总是浮躁不安,最近想看看佛经名句,使内心稍许安定
- Cognos: get LOV of report parameters
- LeetCode Valid Parentheses非常简单的解法
- Mybatis数据源与连接池
- 已知先序中序求树的高度或叶子数
- 参数的魅力
- ArcGIS RunTime Sdk +WPF 基础地图显示
- git常见问题和菜鸟笔记
- Eclipse上Spark开发环境搭建
- HDU1548:A strange lift
- coreGraphs和动画
- 使用Java发送GET、POST请求
- 关于window.location.href跳转绝对地址的问题
- Android性能优化
- iStylePDF产品综合解决方案之电子合同在线订立
- MVP模式在Android中的使用
- logback日志交给logstash处理
- Redis学习笔记(一)