2012-12-06 16 views
5

Microsoft.Office.Interop.Excelを使用して、多くのMS Excel interop i C#(Visual Studio 2012)を実行しています。 Excelの数式を組み込み、テキストと数値の書式を設定し、グラフを作成するには、面倒な手動コードがたくさん必要です。C#とExcelのベストプラクティス

私が仕事をより良くする方法について何らかのインプットを持っていれば、大変ありがとうございます。私はVisual Studio Tools for Officeを見てきましたが、その機能については不明です。 Excelアドインを作成する必要がありますが、Excelの自動化に役立ちますか?

私は、C#を使用してVisual Studio 2012でExcelを操作する方法についての情報を探していました。私は良いが短いチュートリアルを見つけた。しかし、私は本当に機能とベストプラクティスに関して、本をもっと深く勉強したいと思っています。私の限られたknowlegdeでAmazonを検索すると、Visual Studioの古いバージョンを使用してVSTOに関する本が得られます。

私はVBAを使用したくありません。私のアプリケーションは、主にさまざまなソースからコンパイルされたものを視覚化するためにExcelを使用します。私はExcelが必要でないデータ処理にも関わっています。さらに、VBではなくC#を書くことができます。

答えて

3

私は以前これを使っていましたが、それは非常に良いと非常に読みやすい& Excelシートを書くことがわかりました。より高度なものについてはわからない(そこには、私はそれを試したことがない)が、それを見てください。 OOXML形式(.xlsxの)上で動作し、何のCOMは、相互運用機能やVBAか何かありません、円グラフを作るために、純粋なネット

http://epplus.codeplex.com/

例コード:

だけで埋める
//ExcelPackage is a class within the EPPlus DLL 
var p = new ExcelPackage(); 
p.Workbook.Worksheets.Add("sheetName") 
var ws = p.Workbook.Worksheets.First(); 

//Add the piechart 
var pieChart = ws.Drawings.AddChart("crtExtensionsSize", eChartType.PieExploded3D) as ExcelPieChart; 

//Set top left corner to row 1 column 2 
pieChart.SetPosition(1, 0, 2, 0); 
pieChart.SetSize(400, 400); 
pieChart.Series.Add(ExcelRange.GetAddress(4, 2, row-1, 2), ExcelRange.GetAddress(4, 1, row-1, 1));  
pieChart.Title.Text = "Extension Size"; 

//Set datalabels and remove the legend 
pieChart.DataLabel.ShowCategory = true; 
pieChart.DataLabel.ShowPercent = true; 
pieChart.DataLabel.ShowLeaderLines = true; 
pieChart.Legend.Remove(); 

行、列および書式設定は上記よりも簡単です。

3

http://exceldna.codeplex.com/を参照してください。この特定の目的には、大きなユーザーベースで広範に使用され、維持管理され、強化されています。

また、いくつかのヒント:

  • として、多くの場合、名前付き範囲を使用してみてください相殺するために、またはあなたのコードは混乱
  • になるだろうに注入条件
  • 使用R1C1参照に基づいて特定の範囲をフォーマットするためにヘルパーを作成します。できるだけポストフォーマットを簡単に作成できるようにする
  • 抽象スタイルクラスにコードをアロケートし、ロジックに「インライン」で追加しないでください。
関連する問題