在 excel 中,表格是一个结构化的数据区域,每列均有标题。将单元格区域转换成表格后,excel 会自动对其应用格式,如给表格的每个标题单元格添加筛选按钮,同时提供更强大的数据操作和分析功能。在这篇文章中,我们将介绍如何使用 spire.xls for .net 和 c# 在 excel 中创建、修改和删除表格。
安装 spire.xls for .net
首先,您需要将 spire.xls for .net 包含的 dll 文件作为引用添加到您的 .net 项目中。dll 文件可以从此链接下载,也可以通过 安装。
pm> install-package spire.xls
c# 在 excel 中创建表格
你可以使用 worksheet.listobjects.create(tablename, cellrange) 方法将 excel 工作表中的特定数据区域转换为表格。具体步骤如下:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[index] 属性获取特定工作表。
- 使用 worksheet.range[] 属性获取要转换为表格的单元格区域。
- 使用 worksheet.listobjects.create(tablename, cellrange) 方法将单元格区域转换为表格。
- 使用 workbook.savetofile() 方法将生成的工作簿保存到文件。
- c#
using spire.xls;
using spire.xls.core;
namespace createtable
{
internal class program
{
static void main(string[] args)
{
// 创建workbook类的对象
workbook workbook = new workbook();
// 加载excel文件
workbook.loadfromfile("示例.xlsx");
// 获取第一个工作表
worksheet sheet = workbook.worksheets[0];
// 获取要转换为表格的单元格区域
cellrange range = sheet.range[1, 1, sheet.lastrow, sheet.lastcolumn];
// 将单元格区域转换为表格
ilistobject table = sheet.listobjects.create("销售", range);
// 使用内置表格样式格式化表格
table.builtintablestyle = tablebuiltinstyles.tablestylelight2;
// 将生成的工作簿保存到文件
workbook.savetofile("创建表格.xlsx", excelversion.version2016);
workbook.dispose();
}
}
}
c# 给 excel 表格添加汇总行
你可以在 excel 表格的末尾添加一个汇总行,用于显示汇总计算,例如总和、平均值等。具体步骤如下:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[index] 属性获取特定工作表。
- 使用 worksheet.listobjects[index] 属性获取工作表中的特定表格。
- 将表格的 displaytotalrow 属性设置为 true 来显示汇总行。
- 使用 ilistobject.columns[index].totalsrowlabel 属性在特定表格列中设置汇总行的标签。
- 使用 ilistobject.columns[index].totalscalculation 属性为特定表格列设置汇总计算的函数。
- 使用 workbook.savetofile() 方法将生成的工作簿保存到文件。
- c#
using spire.xls;
using spire.xls.core;
namespace addtotalrowtotable
{
internal class program
{
static void main(string[] args)
{
// 创建workbook类的对象
workbook workbook = new workbook();
// 加载excel文件
workbook.loadfromfile("创建表格.xlsx");
// 获取第一个工作表
worksheet sheet = workbook.worksheets[0];
// 获取工作表中的第一个表格
ilistobject table = sheet.listobjects[0];
// 显示合计行
table.displaytotalrow = true;
// 设置合计行标签
table.columns[0].totalsrowlabel = "合计";
// 设置总和计算函数
table.columns[3].totalscalculation = exceltotalscalculation.sum;
table.columns[4].totalscalculation = exceltotalscalculation.sum;
// 将生成的工作簿保存到文件
workbook.savetofile("添加汇总行.xlsx", excelversion.version2016);
workbook.dispose();
}
}
}
c# 调整 excel 表格的数据区域
你可以通过更新表格的数据区域(ilistobject.location 属性)来调整表格的大小。具体步骤如下:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[index] 属性获取特定工作表。
- 使用 worksheet.listobjects[index] 属性获取工作表中的特定表格。
- 使用 ilistobject.location 属性更新表格的数据区域。
- 使用 workbook.savetofile() 方法将生成的工作簿保存到文件。
- c#
using spire.xls;
using spire.xls.core;
namespace resizetable
{
internal class program
{
static void main(string[] args)
{
// 创建workbook类的对象
workbook workbook = new workbook();
// 加载excel文件
workbook.loadfromfile("创建表格.xlsx");
// 获取第一个工作表
worksheet sheet = workbook.worksheets[0];
// 获取工作表中的第一个表格
ilistobject table = sheet.listobjects[0];
// 调整表格的数据区域
table.location = sheet.range["c1:e8"];
// 将生成的工作簿保存到文件
workbook.savetofile("调整表格.xlsx", excelversion.version2016);
workbook.dispose();
}
}
}
c# 删除 excel 表格
如果你不再需要表格,可以使用 ilistobjects.removeat(tableindex) 方法将其转换回普通的单元格区域。具体步骤如下:
- 创建 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 使用 workbook.worksheets[index] 属性获取特定工作表。
- 使用 worksheet.listobjects 属性获取工作表的表格集合。
- 使用 ilistobjects.removeat(tableindex) 方法从表格集合中移除特定的表格并保留其数据。
- 使用 workbook.savetofile() 方法将生成的工作簿保存到文件。
- c#
using spire.xls;
using spire.xls.core;
namespace removetable
{
internal class program
{
static void main(string[] args)
{
// 创建workbook类的对象
workbook workbook = new workbook();
// 加载excel文件
workbook.loadfromfile("创建表格.xlsx");
// 获取第一个工作表
worksheet sheet = workbook.worksheets[0];
// 获取工作表的表格集合
ilistobjects tables = sheet.listobjects;
// 通过索引移除指定的表格
tables.removeat(0);
//// 或者按名称移除特定的表格
//for (int i = tables.count - 1; i >= 0; i--)
//{
// // 检查表格名称是否与特定值匹配
// if (tables[i].name == "销售交易")
// {
// // 移除表格
// tables.removeat(i);
// }
//}
// 将生成的工作簿保存到文件
workbook.savetofile("删除表格.xlsx", excelversion.version2016);
workbook.dispose();
}
}
}
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。