[英]VSTO write to a cell in Excel!
為什么這樣做:
((Excel.Worksheet)Application.ActiveSheet).get_Range("A1", "A1").Value2 = text;
但這不是:
Excel.Worksheet activeSheet = ((Excel.Worksheet)Application.ActiveSheet);
activeSheet.Cells[0, 0] = text;
我需要第二種方式,因為我需要使用rowIndex和colIndex循環。 我怎樣才能做到這一點?
我收到錯誤:
mscorlib.dll中發生未處理的“System.Runtime.InteropServices.COMException”類型的異常附加信息:來自HRESULT的異常:0x800A03EC
您唯一缺少的是(除了使用基於1的索引之外)是將單元格引用顯式地轉換為范圍:
Excel.Worksheet activeSheet = ((Excel.Worksheet)Application.ActiveSheet);
int endRow = 5;
int endCol = 6;
for(int idxRow = 1; idxRow <= endRow; idxRow++)
{
for(int idxCol = 1; idxCol <= endCol; idxCol)
{
((Excel.Range)activeSheet.Cells[idxRow, idxCol]).Value2 = "Kilroy wuz here";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.