2011-06-12 73 views
0

目前,我已經寫入下面的方法來Excel 2007中寫在Excel nextline 2007

public static void createSpreadsheet(String msg) 
    { 
     Excel.Application oXL; 
     Excel.Workbook oWB; 
     Excel.Worksheet oSheet; 
     Excel.Range oRng; 
     oXL = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 
     oWB = oXL.Workbooks.get_Item(1); 
     oSheet = (Excel.Worksheet)oWB.ActiveSheet; 

     oXL.Visible = true; 
     oXL.UserControl = false; 
     oRng = oSheet.get_Range("A1", "A" + 1); 
     oRng.Value2 = msg; 

    } 

不過,我送什麼味精,只得到寫入列A1從代碼可見一斑以上。

如何擴展上面的代碼,以便無論何時發送附加消息,它們都被添加到先前寫入的列的下面。 在控制檯應用程序中,我可以這樣做:Console.writeline(msg)。我如何在Excel中實現?

例如:消息1(西A1) MSG 2(西A2) 消息3(西A3) ....

回答

0

定義一個稱爲currentColumn變量並將其傳遞給該方法:

public static void createSpreadsheet(String msg, column) 

呼籲:

// there is an integer variable called currentColumn 
createSpreadsheet("a message", currentColumn++) 
+0

謝謝..現在我明白應該怎麼做了。 – Queryer 2011-06-12 17:28:26

0

你只得到A1單元格當前。如果您想寫入其他行,只需將參數更改爲您的範圍。例如:

oRng = oSheet.Range["A" + rowNumber, "A" + rowNumber]; 
oRng.Value = msg; 

現在,您可以在每封郵件後動態增加rowNumber。同樣的東西適用於列,只需用適當的列替換「A」即可。