我有一个要生成的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;
}
}
答案 0 :(得分:1)
为了表现你可以把范围放在一个对象[,]中,然后把它写回来。
object[,] orange = range.value;
object[1,1] = "test";
range = orange;
答案 1 :(得分:0)
我不是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);