Exemplo n.º 1
0
        private List <ReportTable> ReadAllTableFromSheet(Excel.Worksheet sheet)
        {
            int col      = sheet.UsedRange.Columns.Count;
            int totalRow = sheet.UsedRange.Rows.Count;

            //从第二列开始,便于发现表的第一行
            Excel.Range startCell = sheet.Cells[1, 2];
            startCell = startCell.End[Excel.XlDirection.xlDown];
            string             value  = startCell.Value;
            List <ReportTable> tables = new List <ReportTable>();

            while (value != null && value.Length != 0)
            {
                ReportTable table = new ReportTable();
                table.LoadDataArrayFromRange(sheet.Range[
                                                 startCell.Offset[0, -1],
                                                 startCell.End[Excel.XlDirection.xlDown].End[Excel.XlDirection.xlToRight]
                                             ]
                                             );
                tables.Add(table);
                regions.Add(table.region);
                startCell =
                    startCell.End[Excel.XlDirection.xlDown].End[Excel.XlDirection.xlDown];
                value = startCell.Value;
            }
            return(tables);
        }