2016-06-13 9 views
0

私の問題は現在、データがExcelファイル内にあるように見えるが、グラフが正しく表示されないということです。私は方法1を試しています:http://www.dotnetperls.com/excel。 私はすでにこの見てきました:Excel Interop Apply Chart Templateデータ付きXLSファイルにExcelチャートを作成しようとしています

チャート:(http://imgur.com/a/btgWT) トップの画像は、私は下の画像は、私が欲しいものである得るものです。

string tempPath = Path.GetTempPath(); 
     //C:\appdata...\LicenseCheck 
    string folderPath = string.Format(@"{0}\LicenseCheck", tempPath); 
     //The csv file with the XMAX license usage stats 
    string secondPath = string.Format(@"{0}\{1}_Report_Stats_{2}_{3}.csv", 
     folderPath, productName, lastCheckedDate.Month, lastCheckedDate.Year); 

    var application = new Application(); 
     var workbook = application.Workbooks.Open(secondPath); 
     var worksheet = workbook.Worksheets[1] as Worksheet; 
     object misValue = System.Reflection.Missing.Value; 

     // Add chart. 
     var charts = worksheet.ChartObjects() as ChartObjects; 
     var chartObject = charts.Add(60, 10, 300, 300) as ChartObject; 
     var chart = chartObject.Chart; 

     // Set chart range. 
     var range = worksheet.get_Range("A1", "C25"); 
     chart.SetSourceData(range); 

     // Set chart properties. 
     chart.ChartType = XlChartType.xlColumnClustered; 
     chart.ChartWizard 
     (
      Source: range 
      // Title: "graphTitle", 
      // CategoryTitle: "xAxis", 
      // ValueTitle: "yAxis" 
     ); 

     chartObject.Chart.ApplyChartTemplate(@"C:\\LicenseUsageStatsTemplate.crtx"); 

     // Save. 
     workbook.SaveAs("Stats.xls", XlFileFormat.xlWorkbookNormal); 
     workbook.Close(true, misValue, misValue); 
     application.Quit(); 

     releaseObject(worksheet); 
     releaseObject(workbook); 
     releaseObject(application); 
+0

チャートをCSVファイルで作成することはできません。私はSaveAsを使ってファイルをExcelワークブック(xlsx)として保存する必要があると思います。 –

+0

私は 'string secondPath = string.Format(@" {0} \ {1} _Report_Stats_ {2} _ {3} .csv "、 folderPath、productName、lastCheckedDate.Month、lastCheckedDate.Year)のファイル名を変更しました。 'を' .xlsx'に、interopはxlsxファイルを開けませんでした。そして、それを '.xls'に変更しました。しかし、グラフはまだ表示されません。 – HelloWorld

+0

拡張子を変更してもExcelが別のファイル形式で保存されることはありません。言語リファレンスの 'SaveAs'メソッドを読んでください。ファイルフォーマットを設定するためのパラメータがあります。 –

答えて

0

Interopを使用するには、MSオフィスをサーバーにインストールする必要があることがわかりました。だから、EPPlusを使い終わった。 OfficeOpenXMLを使用する素晴らしいライブラリです。

関連する問題