写点什么

如何通过 C#/VB.NET 代码将 Excel 工作表拆分为单独的文件

作者:在下毛毛雨
  • 2022 年 9 月 26 日
    四川
  • 本文字数:1860 字

    阅读完需:约 6 分钟

如何通过C#/VB.NET代码将Excel工作表拆分为单独的文件

随着数据的不断扩大,有的数据表的规模会以几何级增长,当数据达到一定规模时,数据的查询,读取性能就会变得缓慢,这时就需要拆分数据表,接下来在文章中将为大家详细介绍您将学习如何通过 C#/VB.NET 代码将 Excel 工作表拆分为单独的 Excel 文件。下面是我整理的思路及具体步骤,希望对大家有所帮助。

使用工具: Free Spire.XLS for .NET(免费版)
程序环境:

本次测试时,在程序中引入 Free Spire.XLS for .NET。可通过以下方法引用 Spire.XLS.dll 文件:

方法 1:将 Free Spire.XLS for .NET 下载到本地,解压,安装。安装完成后,找到安装路径下 BIN 文件夹中的 Spire.XLS.dll。然后在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径 BIN 文件夹下的 dll 文件添加引用至程序。

方法 2:通过NuGet安装。可通过以下 2 种方法安装:

(1)可以在 Visual Studio 中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理 NuGet 包”,然后搜索“Free Spire.XLS”,点击“安装”。等待程序安装完成。

(2)将以下内容复制到 PM 控制台安装。

Install-Package FreeSpire.XLS -Version 12.7

具体步骤
  • 创建一个 Workbook 对象。

  • 使用 Workbook.LoadFromFile()方法加载示例 Excel 文件。

  • 声明一个新的 Workbook 变量,用于创建新的 Excel 工作簿。

  • 循环遍历文档中的工作表。

  • 初始化 Workbook 对象,并将源文档的特定工作表的副本添加到其中。

  • 使用 Workbook.SaveToFile()方法将工作簿保存到 Excel 文件。

 完整代码

C#

using Spire.Xls;using System;
namespace SplitWorksheets{ class Program { static void Main(string[] args) { //创建Workbook对象 Workbook wb = new Workbook();
//加载示例 Excel 文件 wb.LoadFromFile("企业营业数据表.xlsx");
//声明一个新的 Workbook 变量 Workbook newWb;
//声明一个字符串变量 String sheetName;
//指定用于存储生成的 Excel 文件的文件夹路径 String folderPath = "C:\\Users\\Tina\\Desktop\\输出结果\\";
//循环遍历源文件中的工作表 for (int i = 0; i < wb.Worksheets.Count; i++) {
//初始化Workbook对象 newWb = new Workbook();
//删除默认工作表 newWb.Worksheets.Clear();
//将源文档的特定工作表添加到新工作簿 newWb.Worksheets.AddCopy(wb.Worksheets[i]);
//获取worksheet名称 sheetName = wb.Worksheets[i].Name;
//将新工作簿保存到指定文件夹 newWb.SaveToFile(folderPath + sheetName + ".xlsx", ExcelVersion.Version2013); } } }}
复制代码

VB.NET

Imports Spire.Xls
Namespace SplitWorksheets Friend Class Program Private Shared Sub Main(ByVal args As String()) '创建Workbook对象 Dim wb As Workbook = New Workbook()
'加载示例 Excel 文件 wb.LoadFromFile("企业营业数据表.xlsx")
'声明一个新的 Workbook 变量 Dim newWb As Workbook
'声明一个字符串变量 Dim sheetName As String
'指定用于存储生成的 Excel 文件的文件夹路径 Dim folderPath = "C:\Users\Tina\Desktop\输出结果\"
'循环遍历源文件中的工作表 For i As Integer = 0 To wb.Worksheets.Count - 1
'初始化Workbook对象 newWb = New Workbook()
'删除默认工作表 newWb.Worksheets.Clear()
'将源文档的特定工作表添加到新工作簿 newWb.Worksheets.AddCopy(wb.Worksheets(i))
'获取worksheet名称 sheetName = wb.Worksheets(i).Name
'将新工作簿保存到指定文件夹 newWb.SaveToFile(folderPath & sheetName & ".xlsx", ExcelVersion.Version2013) Next End Sub End ClassEnd Namespace
复制代码
效果图

注意:测试代码中的文件路径为程序 Debug 路径,仅供参考,文件路径可自定义为其他路径。

发布于: 17 分钟前阅读数: 4
用户头像

还未添加个人签名 2022.06.02 加入

还未添加个人简介

评论

发布
暂无评论
如何通过C#/VB.NET代码将Excel工作表拆分为单独的文件_C#_在下毛毛雨_InfoQ写作社区