日期:2014-05-18  浏览次数:20794 次

使用Com 组件读取Excel时,如果确认数据范围
C# code

                for (int i = 1; i < mySheet.Rows.Count; i++)
                {
                    DataRow dr = dt.NewRow();
                    for (int j = 1; j < mySheet.Columns.Count; j++)
                    {
                        try
                        {

                            string fla = ((Range)mySheet.Cells[i, j]).Formula.ToString();
                            Range r = (Range)mySheet.Cells[i, j];
                            r.Formula = fla;
                            dr[j] = Convert.ToString(r.Value2);

                        }
                        catch
                        {
                            hasCell = false;
                            break;
                        }

                    }



这样的话行数会读6千多行,列会读255列。 但实际的数据并不一定有那么多行列,如果确定行和列的范围呢?

------解决方案--------------------
判断下关键列是否有值
否则不加入datatable