我正在使用Microsoft.Office.Interop.Excel进行大量MS Excel interop i C#(Visual Studio 2012)。它需要大量令人厌倦的手动代码来包含Excel公式,对文本和数字进行格式化以及制作图表。
如果你们对我如何更好地完成任务有任何意见,我非常希望。我一直在寻找Office的Visual Studio工具,但我不确定它的功能。我知道它需要制作Excel加载项,但是它有助于实现Excel自动化吗?
我一直在尝试使用C#查找有关在Visual Studio 2012中使用Excel的信息。我确实找到了一些很好但很简短的教程。但是,我真的希望有一本书能够更深入地学习该领域的功能和最佳实践。使用我的有限知识来搜索亚马逊只能让我使用旧版本的Visual Studio预订VSTO。
我不想使用VBA。我的应用程序主要使用Excel来可视化从不同来源编译。我也在不需要Excel的数据处理中。此外,我可以编写C#而不是VB。
答案 0 :(得分:3)
我之前使用过它,发现它非常好,非常容易阅读和阅读写Excel表格。不确定更高级的东西(它就在那里,我从来没有尝试过)但是看看它。适用于OOXML格式(.xlsx)并且没有COM互操作或VBA或任何东西,纯.Net
制作饼图的示例代码:
//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();
填写行,列和格式比上面简单:)
答案 1 :(得分:3)
请参阅http://exceldna.codeplex.com/,广泛用于此特定目的,拥有庞大的用户群并进行维护和增强。
还有一些提示: