4

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

 1 year ago
source link: https://blog.51cto.com/u_15656056/5719657
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

如何通过 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 文件。
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 Class
End Namespace
如何通过 C#/VB.NET 代码将 Excel 工作表拆分为单独的文件_C#

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK