2011-09-14 12 views
0

今私は範囲を使用するC#プログラムでExcelのグラフを作成しています。範囲を知らないので、2つの列のすべてのデータをグラフにするようにコードを編集できますか?データはdatagridviewを介してexcelにエクスポートされているので、どの列が表示されるかわかります。セルがどこで停止するかわかりません。列aとbのすべてをグラフ化し、次に列cとdのすべてのグラフと、eとfのすべてのグラフをグラフ化します。ここでC# - 編集Excelのグラフデータ

はレンジと私のコードです:

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

     xlApp = new Excel.Application(); 
     xlWorkBook = xlApp.Workbooks.Add(misValue); 
     xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 
     int i = 0; 
     int j = 0; 

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

     } 

     Excel.Range chartRange; 

     Excel.ChartObjects xlCharts = (Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing); 
     Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 250); 
     Excel.Chart chartPage = myChart.Chart; 

     chartRange = xlWorkSheet.get_Range("A1", "B65"); 
     chartPage.SetSourceData(chartRange, misValue); 
     chartPage.ChartType = Excel.XlChartType.xlColumnClustered; 

     Excel.Range chartRange1; 

     Excel.ChartObjects xlChart1 = (Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing); 
     Excel.ChartObject myChart1 = (Excel.ChartObject)xlChart1.Add(10, 80, 300, 250); 
     Excel.Chart chartPage1 = myChart1.Chart; 

     chartRange1 = xlWorkSheet.get_Range("C1", "D65"); 
     chartPage1.SetSourceData(chartRange1, misValue); 
     chartPage1.ChartType = Excel.XlChartType.xlColumnClustered; 

     Excel.Range chartRange2; 

     Excel.ChartObjects xlChart = (Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing); 
     Excel.ChartObject myChart2 = (Excel.ChartObject)xlChart.Add(10, 80, 300, 250); 
     Excel.Chart chartPage2 = myChart2.Chart; 

     chartRange2 = xlWorkSheet.get_Range("E1", "F65"); 
     chartPage2.SetSourceData(chartRange2, misValue); 
     chartPage2.ChartType = Excel.XlChartType.xlColumnClustered; 
+0

をしたいすべての範囲を取得する、ことを行います? –

+0

Excelのグラフを作成するコードを変更したいと思います。私はグラフの範囲を知らない。私はちょうど私が列aとbのすべてのグラフ、列cとdのグラフ、および列eとfのグラフを取りたいと思っています。 –

+0

さて、あなたが達成したこととあなたをブロックしていることを教えてください。今、それは本当に質問ではありません... –

答えて

0

あなたはそれを行うにしようとしたことがあり:

chartRange = xlWorkSheet.get_Range("A1", "B" + dataGridView1.RowCount); 

をあなたが質問は何

+0

ありがとう!正確に私が必要としたもの。 –

関連する問題