在日常工作中我们会经常用到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
效果图:
(本文完)
共同学习,写下你的评论
评论加载中...
作者其他优质文章