C#實(shí)現(xiàn)凍結(jié)Excel窗口以鎖定行列或解除凍結(jié)
在處理大型Excel工作簿時(shí),有時(shí)候我們需要在工作表中凍結(jié)窗格,這樣可以在滾動(dòng)查看數(shù)據(jù)的同時(shí)保持某些行或列固定不動(dòng)。凍結(jié)窗格可以幫助我們更容易地導(dǎo)航和理解復(fù)雜的數(shù)據(jù)集。相反,當(dāng)你不需要凍結(jié)窗格時(shí),你可能需要解凍它們以獲得完整的視野。
下面將介紹如何使用免費(fèi).NET庫(kù)通過C#實(shí)現(xiàn)凍結(jié)Excel窗口以鎖定行和列,以及如何解除凍結(jié)。
免費(fèi).NET Excel庫(kù)
本文提供的實(shí)現(xiàn)方案需要用到 Free Spire.XLS for .NET 這個(gè)免費(fèi)庫(kù)。該庫(kù)可以在 .NET 應(yīng)用程序中快速實(shí)現(xiàn)對(duì) Excel 文檔的各種操作。可以通過Nuget直接安裝,或者下載后手動(dòng)引用Dll。
PM> Install-Package FreeSpire.XLS
C# 凍結(jié)Excel窗口(凍結(jié)首行、首列、多行多列)
Free Spire.XLS for .NET免費(fèi)庫(kù)提供了 Worksheet.FreezePanes(int rowIndex, int columnIndex) 方法來凍結(jié)Excel行和列。其中的兩個(gè)參數(shù):
- rowIndex: 表示行的索引 (索引從1開始),在該行之上的所有行將被凍結(jié)。
- columnIndex: 表示列的索引(索引從1開始),在該列左邊的所有列將被凍結(jié)。
因此,要凍結(jié)首行即為FreezePanes(2, 1),凍結(jié)首列為FreezePanes(1, 2),同時(shí)凍結(jié)首行首列為FreezePanes(2, 2),以此類推。
以下為凍結(jié)Excel行或列的C#示例代碼:
using Spire.Xls; namespace FreezeTopRow { class Program { static void Main(string[] args) { //加載Excel文檔 Workbook workbook = new Workbook(); workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\測(cè)試.xlsx"); //獲取第一張工作表 Worksheet sheet = workbook.Worksheets[0]; //凍結(jié)首行 sheet.FreezePanes(2, 1); //凍結(jié)首列 //sheet.FreezePanes(1, 2); //凍結(jié)首行首列 //sheet.FreezePanes(2, 2); //凍結(jié)前三行 //sheet.FreezePanes(4, 1); //保存文件 workbook.SaveToFile("凍結(jié)Excel行列.xlsx", ExcelVersion.Version2016); } } }
C# 解除凍結(jié)Excel行和列
要解除凍結(jié),直接使用 Worksheet.RemovePanes() 方法即可,示例代碼如下:
using Spire.Xls; namespace UnfreezeExcelPane { class Program { static void Main(string[] args) { //加載Excel文件 Workbook workbook = new Workbook(); workbook.LoadFromFile("凍結(jié)行列.xls"); //獲取第一張工作表 Worksheet sheet = workbook.Worksheets[0]; //解凍工作表中的行或列 sheet.RemovePanes(); //保存文件 workbook.SaveToFile("解凍Excel行列.xlsx", ExcelVersion.Version2016); } } }
到此這篇關(guān)于C#實(shí)現(xiàn)凍結(jié)Excel窗口以鎖定行列或解除凍結(jié)的文章就介紹到這了,更多相關(guān)C#凍結(jié)Excel窗口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#調(diào)用Matlab生成的dll方法的詳細(xì)說明
這篇文章詳細(xì)介紹了C#調(diào)用Matlab生成的dll方法,有需要的朋友可以參考一下2013-09-09C#中使用反射遍歷一個(gè)對(duì)象屬性及值的小技巧
這篇文章主要介紹了C#中使用反射遍歷一個(gè)對(duì)象屬性及值的小技巧,這在很時(shí)候應(yīng)該都非常有用,本文直接給出實(shí)例代碼,需要的朋友可以參考下2015-07-07.NET中保證線程安全的高級(jí)方法Interlocked類使用介紹
這篇文章主要介紹了.NET中保證線程安全的高級(jí)方法Interlocked類使用介紹,Interlocked類可以為為多個(gè)線程共享的變量提供原子操作,需要的朋友可以參考下2014-07-07