Aspose.Cells for .NET下载地址 https://soft51.cc/software/175799451582733643
Aspose.Cells for .NET 是一个功能强大的电子表格处理库,允许开发者在 .NET 应用程序中创建、读取、编辑和转换 Excel 文件,而无需在服务器或客户端机器上安装 Microsoft Excel。这个库提供了丰富的 API,支持几乎所有 Excel 的功能特性。
核心功能:
高级功能:
Aspose.Cells 广泛应用于:
这是推荐的安装方式,可以自动处理依赖关系并保持版本更新。
Visual Studio 中的安装步骤:
Package Manager Console 安装:
Install-Package Aspose.Cells
PackageReference 方式(.csproj 文件中):
<PackageReference Include="Aspose.Cells" Version="23.x.x" />
如果需要手动管理 DLL 文件:
// 设置许可证(如果有商业许可证)
License license = new License();
license.SetLicense("Aspose.Cells.lic");
让我们从最简单的示例开始,创建一个基本的 Excel 文件。
using Aspose.Cells;
using System;
class Program
{
static void Main()
{
// 创建新的工作簿
Workbook workbook = new Workbook();
// 获取第一个工作表
Worksheet worksheet = workbook.Worksheets[0];
// 在单元格中添加数据
worksheet.Cells["A1"].Value = "Hello World!";
worksheet.Cells["A2"].Value = "欢迎使用 Aspose.Cells";
worksheet.Cells["B1"].Value = 123.45;
worksheet.Cells["B2"].Value = DateTime.Now;
// 保存文件
workbook.Save("FirstExcel.xlsx");
Console.WriteLine("Excel 文件创建成功!");
}
}
1. 创建工作簿对象
Workbook workbook = new Workbook();
工作簿(Workbook)是 Excel 文件的主要容器,包含一个或多个工作表。
2. 获取工作表
Worksheet worksheet = workbook.Worksheets[0];
新建的工作簿默认包含一个工作表,索引为 0。
3. 操作单元格
worksheet.Cells["A1"].Value = "Hello World!";
通过 Cells 集合可以访问任意单元格,支持 A1 样式和数字索引两种方式。
4. 保存文件
workbook.Save("FirstExcel.xlsx");
将工作簿保存到指定路径,格式根据文件扩展名自动识别。
using Aspose.Cells;
// 创建工作簿
Workbook workbook = new Workbook();
// 添加新工作表
Worksheet sheet1 = workbook.Worksheets[0];
sheet1.Name = "数据表";
Worksheet sheet2 = workbook.Worksheets.Add("统计表");
Worksheet sheet3 = workbook.Worksheets.Add("报告表");
// 在不同工作表中添加数据
sheet1.Cells["A1"].Value = "姓名";
sheet1.Cells["B1"].Value = "年龄";
sheet1.Cells["A2"].Value = "张三";
sheet1.Cells["B2"].Value = 25;
sheet2.Cells["A1"].Value = "统计项目";
sheet2.Cells["B1"].Value = "数量";
workbook.Save("MultipleSheets.xlsx");
Aspose.Cells 支持广泛的文件格式,满足不同场景的需求。
| 格式 | 描述 | 扩展名 | |------|------|--------| | Excel 97-2003 | 传统 Excel 格式 | .xls | | Excel 2007+ | Office Open XML 格式 | .xlsx | | Excel Macro-Enabled | 支持宏的工作簿 | .xlsm | | Excel Template | Excel 模板 | .xlt, .xltx, .xltm | | OpenDocument | OpenOffice Calc 格式 | .ods | | CSV | 逗号分隔值 | .csv | | Tab Delimited | 制表符分隔 | .tsv, .tab | | SpreadsheetML | XML 电子表格格式 | .xml | | HTML | 网页格式 | .html, .htm | | JSON | JavaScript 对象标记 | .json |
除了上述输入格式外,还支持以下输出格式:
| 格式 | 描述 | 扩展名 | |------|------|--------| | PDF | 便携式文档格式 | .pdf | | XPS | XML 纸张规范 | .xps | | Image | 图像格式 | .png, .jpg, .gif, .bmp, .tiff | | SVG | 可缩放矢量图形 | .svg | | EPUB | 电子书格式 | .epub |
using Aspose.Cells;
// 读取不同格式的文件
public void ReadDifferentFormats()
{
// 读取 .xls 文件
Workbook xlsWorkbook = new Workbook("data.xls");
// 读取 .csv 文件
Workbook csvWorkbook = new Workbook("data.csv");
// 读取 .ods 文件
Workbook odsWorkbook = new Workbook("data.ods");
Console.WriteLine($"XLS 工作表数量: {xlsWorkbook.Worksheets.Count}");
Console.WriteLine($"CSV 工作表数量: {csvWorkbook.Worksheets.Count}");
Console.WriteLine($"ODS 工作表数量: {odsWorkbook.Worksheets.Count}");
}
// 保存为不同格式
public void SaveToDifferentFormats()
{
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
// 添加一些示例数据
worksheet.Cells["A1"].Value = "产品名称";
worksheet.Cells["B1"].Value = "价格";
worksheet.Cells["A2"].Value = "笔记本电脑";
worksheet.Cells["B2"].Value = 5999.99;
// 保存为不同格式
workbook.Save("output.xlsx"); // Excel 2007+
workbook.Save("output.xls"); // Excel 97-2003
workbook.Save("output.pdf"); // PDF
workbook.Save("output.csv"); // CSV
workbook.Save("output.html"); // HTML
Console.WriteLine("文件已保存为多种格式");
}
using Aspose.Cells;
public void DetectFileFormat()
{
FileFormatInfo formatInfo = FileFormatUtil.DetectFileFormat("unknown_file.dat");
Console.WriteLine($"文件格式: {formatInfo.FileFormatType}");
Console.WriteLine($"是否加密: {formatInfo.IsEncrypted}");
Console.WriteLine($"加载格式: {formatInfo.LoadFormat}");
}
using System;
using System.IO;
using Aspose.Cells;
namespace AsposeCellsBasicsTutorial
{
/// <summary>
/// Aspose.Cells for .NET 入门基础综合示例
/// 演示环境配置、文件创建、格式支持等核心功能
/// </summary>
class Program
{
static void Main(string[] args)
{
Console.WriteLine("=== Aspose.Cells for .NET 入门基础教程 ===\n");
try
{
// 1. 基础文件创建
CreateBasicExcelFile();
// 2. 多工作表操作
CreateMultipleSheets();
// 3. 不同数据类型处理
HandleDifferentDataTypes();
// 4. 文件格式转换
ConvertFileFormats();
// 5. 文件格式检测
DetectFileFormats();
Console.WriteLine("\n所有示例执行完成!");
}
catch (Exception ex)
{
Console.WriteLine($"发生错误: {ex.Message}");
}
Console.WriteLine("按任意键退出...");
Console.ReadKey();
}
/// <summary>
/// 创建基础的 Excel 文件
/// </summary>
static void CreateBasicExcelFile()
{
Console.WriteLine("1. 创建基础 Excel 文件");
// 创建新工作簿
Workbook workbook = new Workbook();
// 获取第一个工作表
Worksheet worksheet = workbook.Worksheets[0];
// 设置工作表名称
worksheet.Name = "基础示例";
// 添加标题行
worksheet.Cells["A1"].Value = "编号";
worksheet.Cells["B1"].Value = "姓名";
worksheet.Cells["C1"].Value = "年龄";
worksheet.Cells["D1"].Value = "入职日期";
worksheet.Cells["E1"].Value = "工资";
// 添加数据行
worksheet.Cells["A2"].Value = 1;
worksheet.Cells["B2"].Value = "张三";
worksheet.Cells["C2"].Value = 28;
worksheet.Cells["D2"].Value = new DateTime(2023, 3, 15);
worksheet.Cells["E2"].Value = 8500.50;
worksheet.Cells["A3"].Value = 2;
worksheet.Cells["B3"].Value = "李四";
worksheet.Cells["C3"].Value = 32;
worksheet.Cells["D3"].Value = new DateTime(2022, 8, 20);
worksheet.Cells["E3"].Value = 9200.00;
// 设置列宽
worksheet.Cells.SetColumnWidth(1, 15); // B列(姓名)
worksheet.Cells.SetColumnWidth(3, 20); // D列(日期)
// 保存文件
string fileName = "BasicExample.xlsx";
workbook.Save(fileName);
Console.WriteLine($" ✓ 文件已保存: {fileName}\n");
}
/// <summary>
/// 创建多个工作表
/// </summary>
static void CreateMultipleSheets()
{
Console.WriteLine("2. 创建多工作表文件");
Workbook workbook = new Workbook();
// 重命名默认工作表
Worksheet sheet1 = workbook.Worksheets[0];
sheet1.Name = "员工信息";
// 添加员工数据
sheet1.Cells["A1"].Value = "姓名";
sheet1.Cells["B1"].Value = "部门";
sheet1.Cells["C1"].Value = "职位";
sheet1.Cells["A2"].Value = "王五";
sheet1.Cells["B2"].Value = "技术部";
sheet1.Cells["C2"].Value = "工程师";
sheet1.Cells["A3"].Value = "赵六";
sheet1.Cells["B3"].Value = "销售部";
sheet1.Cells["C3"].Value = "销售经理";
// 添加第二个工作表 - 部门统计
Worksheet sheet2 = workbook.Worksheets.Add("部门统计");
sheet2.Cells["A1"].Value = "部门";
sheet2.Cells["B1"].Value = "人数";
sheet2.Cells["A2"].Value = "技术部";
sheet2.Cells["B2"].Value = 5;
sheet2.Cells["A3"].Value = "销售部";
sheet2.Cells["B3"].Value = 3;
// 添加第三个工作表 - 月度报告
Worksheet sheet3 = workbook.Worksheets.Add("月度报告");
sheet3.Cells["A1"].Value = "报告日期";
sheet3.Cells["B1"].Value = DateTime.Now.ToString("yyyy-MM-dd");
sheet3.Cells["A2"].Value = "总员工数";
sheet3.Cells["B2"].Value = 8;
sheet3.Cells["A3"].Value = "新入职";
sheet3.Cells["B3"].Value = 2;
string fileName = "MultipleSheets.xlsx";
workbook.Save(fileName);
Console.WriteLine($" ✓ 多工作表文件已保存: {fileName}");
Console.WriteLine($" ✓ 工作表数量: {workbook.Worksheets.Count}\n");
}
/// <summary>
/// 处理不同的数据类型
/// </summary>
static void HandleDifferentDataTypes()
{
Console.WriteLine("3. 处理不同数据类型");
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
worksheet.Name = "数据类型示例";
// 文本数据
worksheet.Cells["A1"].Value = "文本数据";
worksheet.Cells["A2"].Value = "这是一个字符串";
// 数值数据
worksheet.Cells["B1"].Value = "数值数据";
worksheet.Cells["B2"].Value = 12345.67;
worksheet.Cells["B3"].Value = -98765;
// 日期时间数据
worksheet.Cells["C1"].Value = "日期时间";
worksheet.Cells["C2"].Value = DateTime.Now;
worksheet.Cells["C3"].Value = new DateTime(2024, 12, 25);
// 布尔值
worksheet.Cells["D1"].Value = "布尔值";
worksheet.Cells["D2"].Value = true;
worksheet.Cells["D3"].Value = false;
// 公式
worksheet.Cells["E1"].Value = "公式";
worksheet.Cells["E2"].Formula = "=B2*2";
worksheet.Cells["E3"].Formula = "=SUM(B2:B3)";
// 百分比
worksheet.Cells["F1"].Value = "百分比";
worksheet.Cells["F2"].Value = 0.85;
worksheet.Cells["F3"].Value = 0.42;
// 设置数字格式
Style style = workbook.CreateStyle();
style.Number = 9; // 百分比格式
worksheet.Cells["F2"].SetStyle(style);
worksheet.Cells["F3"].SetStyle(style);
// 设置日期格式
Style dateStyle = workbook.CreateStyle();
dateStyle.Custom = "yyyy-mm-dd hh:mm:ss";
worksheet.Cells["C2"].SetStyle(dateStyle);
worksheet.Cells["C3"].SetStyle(dateStyle);
string fileName = "DataTypes.xlsx";
workbook.Save(fileName);
Console.WriteLine($" ✓ 数据类型示例已保存: {fileName}\n");
}
/// <summary>
/// 文件格式转换演示
/// </summary>
static void ConvertFileFormats()
{
Console.WriteLine("4. 文件格式转换");
// 创建示例数据
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.Worksheets[0];
worksheet.Cells["A1"].Value = "产品名称";
worksheet.Cells["B1"].Value = "价格";
worksheet.Cells["C1"].Value = "库存";
worksheet.Cells["A2"].Value = "iPhone 15";
worksheet.Cells["B2"].Value = 7999.00;
worksheet.Cells["C2"].Value = 50;
worksheet.Cells["A3"].Value = "MacBook Pro";
worksheet.Cells["B3"].Value = 12999.00;
worksheet.Cells["C3"].Value = 25;
// 保存为不同格式
try
{
workbook.Save("Products.xlsx");
Console.WriteLine(" ✓ 保存为 XLSX 格式");
workbook.Save("Products.xls");
Console.WriteLine(" ✓ 保存为 XLS 格式");
workbook.Save("Products.csv");
Console.WriteLine(" ✓ 保存为 CSV 格式");
workbook.Save("Products.pdf");
Console.WriteLine(" ✓ 保存为 PDF 格式");
workbook.Save("Products.html");
Console.WriteLine(" ✓ 保存为 HTML 格式");
// 保存工作表为图片
worksheet.ToImage("Products.png", System.Drawing.Imaging.ImageFormat.Png);
Console.WriteLine(" ✓ 保存为 PNG 图像");
}
catch (Exception ex)
{
Console.WriteLine($" ✗ 格式转换错误: {ex.Message}");
}
Console.WriteLine();
}
/// <summary>
/// 文件格式检测演示
/// </summary>
static void DetectFileFormats()
{
Console.WriteLine("5. 文件格式检测");
string[] testFiles = { "Products.xlsx", "Products.xls", "Products.csv" };
foreach (string file in testFiles)
{
if (File.Exists(file))
{
try
{
FileFormatInfo formatInfo = FileFormatUtil.DetectFileFormat(file);
Console.WriteLine($" 文件: {file}");
Console.WriteLine($" ├─ 格式类型: {formatInfo.FileFormatType}");
Console.WriteLine($" ├─ 加载格式: {formatInfo.LoadFormat}");
Console.WriteLine($" └─ 是否加密: {formatInfo.IsEncrypted}");
Console.WriteLine();
}
catch (Exception ex)
{
Console.WriteLine($" 检测 {file} 时出错: {ex.Message}");
}
}
}
}
}
/// <summary>
/// 许可证配置类(如果有商业许可证时使用)
/// </summary>
public static class LicenseConfig
{
/// <summary>
/// 设置 Aspose.Cells 许可证
/// </summary>
/// <param name="licensePath">许可证文件路径</param>
public static void SetLicense(string licensePath)
{
try
{
if (File.Exists(licensePath))
{
License license = new License();
license.SetLicense(licensePath);
Console.WriteLine("许可证设置成功");
}
else
{
Console.WriteLine("许可证文件不存在,将使用评估版本");
}
}
catch (Exception ex)
{
Console.WriteLine($"设置许可证时出错: {ex.Message}");
}
}
/// <summary>
/// 从流设置许可证
/// </summary>
/// <param name="licenseStream">许可证流</param>
public static void SetLicense(Stream licenseStream)
{
try
{
License license = new License();
license.SetLicense(licenseStream);
Console.WriteLine("许可证设置成功");
}
catch (Exception ex)
{
Console.WriteLine($"设置许可证时出错: {ex.Message}");
}
}
}
}
运行示例后将生成以下文件:
BasicExample.xlsx
- 基础示例文件MultipleSheets.xlsx
- 多工作表文件DataTypes.xlsx
- 数据类型示例Products.xlsx/xls/csv/pdf/html
- 不同格式的产品数据Products.png
- 工作表图像这个教程为后续的进阶功能学习奠定了坚实的基础。在掌握了这些基础概念后,你就可以开始学习更高级的功能,如单元格操作、样式设置、公式计算等。
Aspose.Cells for .NET下载地址 https://soft51.cc/software/175799451582733643