![](https://products-qa.fileformat.com/zh/spreadsheet/net/reogrid/header-image.png)
ReoGrid
用于快速 XLSX 电子表格的 C# .NET 库
开源 C# API 允许创建、读取、修改和导出 Microsoft Excel XLSX 电子表格,管理工作表、行和列设置等。
一个强大的开源 .NET 电子表格组件,使软件应用程序能够轻松创建和管理 Excel 文件格式。该库非常轻量级,可以以更少的时间和成本执行多项操作。它处理电子表格相关任务的速度比同类产品快 300 倍。
ReoGrid API 支持多种平台,适用于 Windows 窗体和 WPF。它功能非常丰富,包含了几个与 Excel 电子表格创建和管理相关的重要功能,例如从头开始生成新工作簿、管理工作表、行和列设置、单元格样式支持、边框处理、单元格值和数据格式,使用公式,插入和管理图像,使用浮动对象,添加图表或图形等等。
ReoGrid 使用优化的内存管理模型以及增强的单元内存使用。它将较大的电子表格拆分为较小的部分,因此在这些小部分上执行内存分配和释放,从而加快处理速度。该库还使用优化的边框算法,可以快速识别从哪里开始绘制边框。
ReoGrid 入门
以下步骤更新编译器并设置适当的环境变量。
安装画中画命令
PM> Install-Package unvell.ReoGrid.dll
通过 .NET API 创建 Excel 工作簿
开源库 ReoGrid 使软件开发人员只需几行 C# 代码即可生成新的 Excel 工作簿。该库还允许添加新工作表、为工作表分配名称、删除不需要的工作表、移动工作表等。该库还可以轻松访问工作表,并支持管理单元格数据、样式、边框、轮廓、范围、公式计算等。
通过。ET添加工作表
private void btnAddWorksheet_Click(object sender, EventArgs e)
{
// create worksheet
var newSheet = this.grid.CreateWorksheet();
// set worksheet background color
newSheet.SetRangeStyles(RangePosition.EntireRange, GetRandomBackColorStyle());
// add worksheet into workbook
this.grid.AddWorksheet(newSheet);
// set worksheet as current focus
grid.CurrentWorksheet = newSheet;
}
将 Excel XLSX 文件导出为 CSV 和 HTML
开源组件 ReoGrid 使软件开发人员能够在他们自己的 .NET 应用程序中将 Excel XLSX 电子表格导出为其他支持的文件格式。开发人员可以轻松加载 CSV 文件、将工作表导出为 CSV 格式、将工作表导出为 HTML 或 PDF、将电子表格输出到打印机等。也可以选择行或网格的指定范围而不是整个工作表并将其导出为其他支持的格式。它还支持仅用几行代码将工作表导出到 RGF 文件。
通过。ET将Excel LS文件转换为CSV
// load from stream
void LoadCSV(Stream s);
// load from file
void LoadCSV(string path);
// load from stream and convert string by specified encoding
void LoadCSV(Stream s, Encoding encoding);
// load from path and convert string by specified encoding
public void LoadCSV(string path, Encoding encoding);
//Export as CSV
worksheet.ExportAsCSV(Stream steam);
worksheet.ExportAsCSV(string filepath);
将图表添加到工作表
ReoGrid 组件为处理 Excel 工作表中的图表提供了非常强大的支持。它允许在工作表上显示图表并保存到 Excel 文件中或从 Excel 文件中加载。工作表中支持不同类型的图表,例如折线图、柱形图、条形图 Pro、面积图、饼图、圆环图等。您还可以轻松地轻松修改图表。
通过C#API加入Excel LS文件
var worksheet = this.grid.CurrentWorksheet;
worksheet["A2"] = new object[,] {
{ null, 2008, 2009, 2010, 2011, 2012 },
{ "City 1", 3, 2, 4, 2, 6 },
{ "City 2", 7, 5, 3, 6, 4 },
{ "City 3", 13, 10, 9, 10, 9 },
{ "Total", "=SUM(B3:B5)", "=SUM(C3:C5)", "=SUM(D3:D5)",
"=SUM(E3:E5)", "=SUM(F3:F5)" },
};
// Create three ranges, data source range, row title range and column title range
var dataRange = worksheet.Ranges["B3:F5"];
var rowTitleRange = worksheet.Ranges["A3:A6"];
var categoryNamesRange = worksheet.Ranges["B2:F2"];
worksheet.AddHighlightRange(rowTitleRange);
worksheet.AddHighlightRange(categoryNamesRange);
worksheet.AddHighlightRange(dataRange);