excel以编程方式获得范围

我有一个生成的Excel报告,下面是我用过的代码。 在这里我硬编码的范围,即从A到Z.有没有办法根据数据集中的列检索范围? 基本上我只是想删除硬编码值。

任何帮助将不胜感激。

strCol = String.Empty; iRow = 0; foreach (DataRow r in ds.Tables[0].Rows) { iRow++; // add each row's cell data... iCol = 0; foreach (DataColumn c in ds.Tables[0].Columns) { iCol++; thisWorksheet.Cells[iRow + 1, iCol] = r[c.ColumnName]; **strCol = "A" + (iRow + 1) + ":Z" + iCol;** thisWorksheet.Range[strCol].Borders.Weight = 2; } } 

为了performance,你可以把范围放在一个对象中,最后写回来。

 object[,] orange = range.value; object[1,1] = "test"; range = orange; 

我不是100%确定你想要做什么,但你可以得到这样一个范围:

 Excel.Application excelApp = null; Excel.Workbook wkbk; Excel.Worksheet sheet; excelApp = new Excel.Application(); wkbk = excelApp.Workbooks.Add(); sheet = wkbk.Sheets.Add() as Excel.Worksheet; Excel.Range c1 = sheet.Cells[Row, Column]; //For instance Cells[1,1] for i think A1 Excel.Range c2 = sheet.Cells[Row, Column]; Excel.Range range = (Excel.Range)sheet.get_Range(c1,c2);