5

Microsoft.Office.Interop.Excel を使用して、多くの MS Excel 相互運用 i C# (Visual Studio 2012) を実行しています。Excel の数式を含めたり、テキストや数値の書式を設定したり、グラフを作成したりするには、面倒な手作業のコードがたくさん必要です。

私がどのように仕事をより良く行うかについて、あなたの誰かが何か意見を持っているなら、私はそれを非常に望んでいます. Visual Studio Tools for Office を見てきましたが、機能がよくわかりません。Excel アドインを作成するために必要だと思いますが、Excel の自動化に役立ちますか?

C# を使用して Visual Studio 2012 で Excel を操作する方法に関する情報を必死に探していました。良いが短いチュートリアルをいくつか見つけました。ただし、機能とベスト プラクティスに関して、この分野をより深く学ぶための主題である本が本当に欲しいです。限られた知識で Amazon を検索しても、古いバージョンの Visual Studio を使用した VSTO に関する本しか得られません。

VBAは使いたくないです。私のアプリケーションは、主にさまざまなソースからコンパイルされた視覚化に Excel を使用します。エクセルが不要なデータ処理にも。さらに、C# は書けますが VB は書けません。

4

2 に答える 2

4

以前にこれを使用したことがありますが、Excel シートの読み取りと書き込みが非常に簡単であることがわかりました。より高度なものについてはわかりませんが(そこにありますが、試したことはありません)、見てみてください。OOXML 形式 (.xlsx) で動作し、COM 相互運用機能や VBA などはなく、純粋な .Net です。

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();

行、列、およびフォーマットを入力するだけで、上記よりも簡単です:)

于 2012-12-06T10:57:53.480 に答える