2011-07-24 10 views
0

私はこのコードを使用して、DataGridViewの行をExcelシートにエクスポートしています。このexcel-to-excelコードを使用してセルに書き込むことができません

 Excel.Application xlApp; 
     Excel.Workbook xlWorkBook; 
     Excel.Worksheet xlWorkSheet; 
     object misValue = System.Reflection.Missing.Value; 


     xlApp = new Excel.ApplicationClass(); 
     xlWorkBook = xlApp.Workbooks.Add(misValue); 
     xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

     int i = 0; 
     int j = 0; 

     for (i = 0; i <= dgv.RowCount - 1; i++) 
     { 
      for (j = 0; j <= dgv.ColumnCount - 1; j++) 
      { 
       DataGridViewCell cell = dgv[j, i]; 
       xlWorkSheet.Cells[i + 5, j + 2] = cell.Value; 
      } 
     } 

     string SavedFilePath = Application.StartupPath + "\\GeneratedExcelReports\\"; 
     xlWorkBook.SaveAs(SavedFilePath + ExcelFileNameToCreate + ".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); 
     xlWorkBook.Close(true, misValue, misValue); 
     xlApp.Quit(); 

私はこのコード行を追加した場合:

xlWorkSheet.Cells[0,1].Value = "My Test Report"; 

それがインテリセンスが開き、リスト内の値として何もしていますので、それは、エラーを生成します。実行時に特定のセルを編集するには?

+0

エラーは何ですか? –

答えて

1

CellsプロパティがVB遺産に起因非ゼロインデックス配列(または任意これは=>インデックスがで開始と呼ばれている)です。行1と列1にあるセルの値を設定するには、次のようにします。

xlWorkSheet.Cells[1, 1].Value = "My Test Report"; 
       ^
      must not be zero 
関連する問題