網站首頁 編程語言 正文
前言
隨著數據的不斷擴大,有的數據表的規模會以幾何級增長,當數據達到一定規模時,數據的查詢,讀取性能就會變得緩慢,這時就需要拆分數據表,接下來在文章中將為大家詳細介紹您將學習如何通過C#/VB.NET代碼將 Excel 工作表拆分為單獨的Excel文件。下面是我整理的思路及具體步驟,希望對大家有所幫助。
使用工具
程序環境
本次測試時,在程序中引入?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 Class
End Namespace
效果圖
注意:測試代碼中的文件路徑為程序Debug路徑,僅供參考,文件路徑可自定義為其他路徑。
原文鏈接:https://blog.51cto.com/u_15656056/5719657
相關推薦
- 2022-04-24 python自定義封裝帶顏色的logging模塊_python
- 2023-03-27 詳解C/C++高精度(加減乘除)算法中的壓位優化_C 語言
- 2022-07-09 使用cgroup控制cpu、內存、IO資源實踐
- 2022-10-14 Jboss使用jndi配置數據源連接數據庫
- 2022-04-21 R語言繪圖數據可視化Ridgeline?plot山脊圖畫法_R語言
- 2022-08-21 Go語言的互斥鎖的詳細使用_Golang
- 2022-06-30 Oracle中游標Cursor的用法詳解_oracle
- 2022-10-10 pandas?修改列名的實現示例_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支