为了账号安全,请及时绑定邮箱和手机立即绑定

C#/VB.NET 将 Excel 工作表拆分为单独的文件

标签:
C# .NET

在日常工作中我们会经常用到Excel表格。这类型的格式文件可以帮助我们统计数据,并即时地提升办公的效率。但随着数据的不断扩大,数据的查询,读取性能就会变得缓慢。这时我们可以将 Excel 工作表拆分为单独的文件来解决此问题。在本文中,你将学习如何通过C#/VB.NET将 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\\Administrator\\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\Administrator\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 Class
End Namespace

效果图:

https://img2.sycdn.imooc.com/636375040001918b09230801.jpg

(本文完)





点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消