2012-03-12 25 views
1

私のC#プログラムでは、ExcelのデータをExcelファイルに書き込むためにExcelを使用していますが、以下はExcelシートにアクセスする方法の例です。私はこれを実行するとExcelアドイン、Excelシートに書き込む方法

private void button1_Click(object sender, EventArgs e) 
     { 
       Excel.Application xl_app = (Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 
       Excel.Workbook xl_workbook = null; 
       xl_workbook = xl_app.ActiveWorkbook; 
       Excel.Worksheet sheet = null; 
       sheet = (Excel.Worksheet)xl_workbook.Worksheets.get_Item("Sheet1"); 
       sheet.Cells[1, 1] = "Name"; 

     } 

iは、シートオブジェクトのための「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーを取得します。(私はこれらのMicrosoft.Office.Interop.Excel、 Microsoft.Officeを使用していました。コア; C#に新しいイムは、誰もがこれで私を助けることができる)、おかげで

答えて

0
sheet = (Excel.Worksheet)xl_workbook.Worksheets.get_Item(1); 
0

あなたの代わりに、インデックスのシートの名前を使用したいとあなたは以下のようにLINQを使用している場合:

var xlSheet = xl_workbook.Cast<_Worksheet>().FirstOrDefault(x => x.Name == "Sheet1") 

シートが見つからない場合xlsheet変数は、これは私がそれを行うだろうかある

0

nullになります。

private void button1_Click(object sender, EventArgs e) 
{ 
    Excel.Application xlApp = (Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); 
    Excel.Workbook xlWorkbook = xlApp.ActiveWorkbook; 
    Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1]; 
    xlWorksheet.Cells[1,1] = "Name"; 
} 

私は、Visual C#の2010 Expressと開いたExcelワークブックでそれをテストし、それが私の作品。

0

誰がそう右の回答に答えるではありません、私はそれをチェックし、それが働いた:

Excel.Worksheet activeWorksheet = ((Excel.Worksheet)Application.ActiveSheet); 
Excel.Range firstRow = activeWorksheet.get_Range("A1"); 
firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown); 
Excel.Range newFirstRow = activeWorksheet.get_Range("A1"); 
newFirstRow.Value2 = "This text was added by using code"; 
0
Excel.Application xlAppToExport = new Excel.Application(); 
xlAppToExport.Workbooks.Add(""); 

Excel.Worksheet xlWorkSheetToExport; 

xlWorkSheetToExport =(Excel.Worksheet)xlAppToExport.Application.Worksheets.Add(); 
xlWorkSheetToExport.Name = "customer"; 
関連する問題