Epplus读取Excel

string pfilePath = "";
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "*.xlsx|*.xlsx";
            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                pfilePath = ofd.FileName;
            }
            if (string.IsNullOrEmpty(pfilePath))
            {
                MessageBox.Show("没有选中文件");
                return;
            }


            FileInfo existingFile = new FileInfo(pfilePath);
            try
            {
                ExcelPackage package = new ExcelPackage(existingFile);
                int vSheetCount = package.Workbook.Worksheets.Count; //获取总Sheet页


                ExcelWorksheet worksheet = package.Workbook.Worksheets[1];//选定 指定页


                int maxColumnNum = worksheet.Dimension.End.Column;//最大列
                int minColumnNum = worksheet.Dimension.Start.Column;//最小列


                int maxRowNum = worksheet.Dimension.End.Row;//最小行
                int minRowNum = worksheet.Dimension.Start.Row;//最大行


                DataTable vTable = new DataTable();


                DataColumn vC;
                for (int j = 1; j <= maxColumnNum; j++)
                {
                    vC = new DataColumn("A_" + j, typeof(string));
                    vTable.Columns.Add(vC);
                }
               
                DataColumn dc1 = vTable.Columns["A_4"];
                dc1.DataType = Type.GetType(" System.DateTime");
                DataColumn dc2 = vTable.Columns["A_5"];
                dc2.DataType = Type.GetType(" System.DateTime");
                DataColumn dc3 = vTable.Columns["A_6"];
                dc3.DataType = Type.GetType(" System.Int32");
                DataColumn dc4 = vTable.Columns["A_7"];
                dc4.DataType = Type.GetType(" System.Int32");
                DataColumn dc5 = vTable.Columns["A_8"];
                dc5.DataType = Type.GetType(" System.Int32");
                DataColumn dc6 = vTable.Columns["A_9"];
                dc6.DataType = Type.GetType(" System.Int32");
                bool flag = true;


                for (int n = 2; n <= maxRowNum; n++)
                {
                    DataRow vRow = vTable.NewRow();
                    for (int m = 1; m <= maxColumnNum; m++)
                    {
                        if (worksheet.Cells[n, m].Value != null)
                        {
                            vRow[m - 1] = worksheet.Cells[n, m].Value;
                            flag = true;
                        }
                        else
                        {
                            flag = false;
                            break;
                        }
                    }
                    if (!flag)
                        continue;
                    vTable.Rows.Add(vRow);
                }
                              //int a = vTable.Rows.Count;


                //string aa= vTable.Rows[0]["A_4"].ToString();
                //string bb = vTable.Rows[a-1]["A_5"].ToString();
                //object test1 = vTable.Compute("sum(A_6)", "");
                //object test2 = vTable.Compute("sum(A_7)", "");
                //object test3 = vTable.Compute("sum(A_8)", "");
                //object test4 = vTable.Compute("sum(A_9)", "");
                //DateTime time1 = Convert.ToDateTime(aa.ToString());
                //DateTime time2 = Convert.ToDateTime(bb.ToString());
                //TimeSpan ts = time1 - time2;                
                //int aaa =(int)Math.Round(ts.TotalSeconds);
            }
            catch (Exception vErr)
            {
                MessageBox.Show(vErr.Message);
            }

你可能感兴趣的:(C#)