解决方案 »

  1.   

    这里面的代码是读取规则的EXCEL数据到DataSet中,但是我这里是不规则的阿
      

  2.   

    http://blog.csdn.net/fangxinggood/article/details/397315
      

  3.   

    本帖最后由 net_lover 于 2012-04-13 12:46:34 编辑
      

  4.   

    http://xlslinq.codeplex.com/
    LINQ to Excel
      

  5.   

    你先全部读出来,然后再操作对象不就简单了。我昨天刚写了个,简单的读入、导出。给你个方法,我是导入DataTable中的。/// <summary>
            /// 按开始行到结束行以及开始列到结束列的索引导入
            /// </summary>
            /// <param name="dtTable">传入的DataTable</param>
            /// <param name="StartRow">开始行的索引</param>
            /// <param name="StartColumn">开始列的索引</param>
            /// <param name="EndRow">结束行的索引</param>
            /// <param name="EndColumn">结束列的索引</param>
            /// <returns>返回DataTable</returns>
            public DataTable GetTable(DataTable dtTable, int? StartRow, int? StartColumn, int? EndRow, int? EndColumn)
            {
                DataTable dtb = new DataTable();
                int stRow = StartRow.HasValue ? StartRow.Value : 0;
                int endRow = EndRow.HasValue ? EndRow.Value : 0;
                int stColumn = StartColumn.HasValue ? StartColumn.Value : 0;
                int endColumn = EndColumn.HasValue ? EndColumn.Value : 0;
                for (int i = stColumn - 1; i < endColumn; i++)
                    dtb.Columns.Add(dtTable.Columns[i].ColumnName);
                for (int j = stRow - 1; j < endRow; j++)
                {
                    if (dtTable.Rows[j].ItemArray.All(a => String.IsNullOrEmpty(a.ToString()))) break;
                    dtb.ImportRow(dtTable.Rows[j]);
                }
                return dtb;
            }