用于创建电子表格文档的免费 .NET 库
通过开源 .NET API 读取、写入、操作和转换 Excel 文件。
NetOffice API 允许 .NET 开发人员通过开源 .NET API 读取、写入、操作和转换 Excel 文件。该 API 允许自动化 Microsoft Excel 电子表格并开发 Microsoft Excel 插件。使用 API,开发人员将使用 MS Office 版本 2000、2002、2003、2007、2010、2013 和 2016 中包含的所有选项。API 依赖于您在应用程序中检索 COM 代理对象的 COM 架构。
为了使用 Microsoft Excel 文档,您需要 ExcelApi.dll 以及 OfficeApi.ddl、VBIDEApi.dll 和 NetOffice.dll 作为依赖项。所有 Office 应用程序都使用在其他组件/类型库中定义的类型。因此,这些依赖类型库作为独立程序集给出。每个程序集还需要 NetOffice.dll 程序集。
NetOffice 入门
首先,您需要拥有 .NET Framework 4.5 或更高版本。之后,请从 GitHub 手动下载存储库或从 NuGet 安装它。
从 NuGet 安装 NetOffice
Install-Package NetOfficeFw.Excel
使用免费的 C# API 在 Excel 中添加形状
NetOffice 允许 .NET 程序员以编程方式在 Microsoft Excel 电子表格中添加形状。为了首先在 excel 文件中添加形状,您需要初始化一个 Excel.Application 并关闭消息框。启动 Excel 应用程序后,您可以使用 ExcelApplication.Workbooks.Add() 方法向其中添加新文档。您可以使用 workSheet.Cells[1, 1].Value 属性在新创建的 Excel 文件中插入文本,并使用 WorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShape32pointStar, 10, 50, 200, 20) 方法在文件中添加形状。
通过C#插入Excel表格文件
// start excel and turn off msg boxes
Excel.Application excelApplication = new Excel.Application();
excelApplication.DisplayAlerts = false;
// create a utils instance, not need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(excelApplication);
// add a new workbook
Excel.Workbook workBook = excelApplication.Workbooks.Add();
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Worksheets[1];
workSheet.Cells[1, 1].Value = "NetOffice Excel Example 04";
// create a star
Excel.Shape starShape = workSheet.Shapes.AddShape(MsoAutoShapeType.msoShape32pointStar, 10, 50, 200, 20);
// create a simple textbox
Excel.Shape textBox = workSheet.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, 10, 150, 200, 50);
textBox.TextFrame.Characters().Text = "text";
textBox.TextFrame.Characters().Font.Size = 14;
// create a wordart
Excel.Shape textEffect = workSheet.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect14, "WordArt", "Arial", 12,
MsoTriState.msoTrue, MsoTriState.msoFalse, 10, 250);
// save the book
string workbookFile = utils.File.Combine(HostApplication.RootDirectory, "Example04", DocumentFormat.Normal);
workBook.SaveAs(workbookFile);
// close excel and dispose reference
excelApplication.Quit();
excelApplication.Dispose();
/ show end dialog
HostApplication.ShowFinishDialog(null, workbookFile);
使用 C# 在 Excel 中创建图表
NetOffice 允许 .NET 程序员以编程方式在 Microsoft Excel 文件中添加图表。为了在 Excel 文件中添加图表;首先,您需要初始化 Excel.Application 并关闭消息框并使用 xcelApplication.Workbooks.Add() 方法添加新工作表。您可以通过初始化 Excel.ChartObject 并使用 ((Excel.ChartObjects)workSheet.ChartObjects()).Add(70, 100, 375, 225) 方法在新创建的 Excel 文件中插入图表您可以设置数据源使用 Chart.SetSourceData() 方法新创建的图表
通过C# API加入Excel工作表
// start excel and turn off msg boxes
Excel.Application excelApplication = new Excel.Application();
excelApplication.DisplayAlerts = false;
// create a utils instance, no need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(excelApplication);
// add a new workbook
Excel.Workbook workBook = excelApplication.Workbooks.Add();
Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Worksheets[1];
// we need some data to display
Excel.Range dataRange = PutSampleData(workSheet);
// create a nice diagram
Excel.ChartObject chart = ((Excel.ChartObjects)workSheet.ChartObjects()).Add(70, 100, 375, 225);
chart.Chart.SetSourceData(dataRange);
// save the book
string workbookFile = utils.File.Combine(HostApplication.RootDirectory, "Example05", DocumentFormat.Normal);
workBook.SaveAs(workbookFile);
// close excel and dispose reference
excelApplication.Quit();
excelApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, workbookFile);