C# 用c语言管理excel#
我需要编辑.xls文件,绘制图表并将其保存为图像。目前我发现了两个工具:C# 用c语言管理excel#,c#,excel,charts,C#,Excel,Charts,我需要编辑.xls文件,绘制图表并将其保存为图像。目前我发现了两个工具: 我可以做我需要的一切,但是许可证太贵了 我无法将已绘制的图表保存在图像文件中 我的问题是:还有其他库可以满足我的需求吗?我正在与名为的卓越库合作。 我认为它可以保存绘图图表,但我从未检查过它 请看以下内容,它与某些图书馆无关, 只需使用互操作。电子表格工具非常棒,速度非常快。但是,如果您想要一个免费的解决方案,为什么不使用以下名称空间呢 using Microsoft.Office.Core; using Excel
- 我可以做我需要的一切,但是许可证太贵了
- 我无法将已绘制的图表保存在图像文件中
我的问题是:还有其他库可以满足我的需求吗?我正在与名为的卓越库合作。 我认为它可以保存绘图图表,但我从未检查过它 请看以下内容,它与某些图书馆无关,
只需使用互操作。电子表格工具非常棒,速度非常快。但是,如果您想要一个免费的解决方案,为什么不使用以下名称空间呢
using Microsoft.Office.Core;
using Excel = Microsoft.Office.Interop.Excel;
添加以下COM引用“Microsoft.Office.Core”和“Microsoft.Office.Interop.Excel”后,可以包括这些引用。使用“System.Reflection”,您可以公开Excel的许多功能,包括图形等
可以使用
[InterfaceTypeAttribute()]
[GuidAttribute("0002086D-0000-0000-C000-000000000046")]
public interface Charts : IEnumerable
有关具体详细信息,请参阅。但基本情节的一个简单例子是
using Microsoft.Office.Interop.Excel;
class Program
{
const string fileName = "C:\\Book1.xlsx";
const string topLeft = "A1";
const string bottomRight = "A4";
const string graphTitle = "Graph Title";
const string xAxis = "Time";
const string yAxis = "Value";
static void Main()
{
// Open Excel and get first worksheet.
var application = new Application();
var workbook = application.Workbooks.Open(fileName);
var worksheet = workbook.Worksheets[1] as
Microsoft.Office.Interop.Excel.Worksheet;
// Add chart.
var charts = worksheet.ChartObjects() as
Microsoft.Office.Interop.Excel.ChartObjects;
var chartObject = charts.Add(60, 10, 300, 300) as
Microsoft.Office.Interop.Excel.ChartObject;
var chart = chartObject.Chart;
// Set chart range.
var range = worksheet.get_Range(topLeft, bottomRight);
chart.SetSourceData(range);
// Set chart properties.
chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
chart.ChartWizard(Source: range, Title: graphTitle, CategoryTitle: xAxis,
ValueTitle: yAxis);
// Save.
workbook.Save();
// Dispose objects.
worksheet.Dispose();
workbook.Dispose();
application.Dispose();
}
}
编辑Excel文件也是一种类似的方式。有关更多信息,请参阅
我希望这能有所帮助。不可能:答案已更新。请看上面谢谢,SpreadsheetGear for.NET似乎是我需要的,但它不是免费的:(!但是,该许可证比Asopse.Cells更便宜!使用Microsoft.Office.Interop.Excel命名空间是一种非常好的方法。为什么要寻找其他名称空间?COM Interop不太容易管理和使用。此外,也不建议将其用于服务器环境。问题是Office需要使用这些功能。在我的背景下,这是一个问题,因为我无法安装Office!我看到了……小姐方向的命名。