经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C# » 查看文章
C# 冻结Excel窗口以锁定行列、或解除冻结 - E-iceblue
来源:cnblogs  作者:E-iceblue  时间:2024/4/15 15:43:13  对本文有异议

在处理大型Excel工作簿时,有时候我们需要在工作表中冻结窗格,这样可以在滚动查看数据的同时保持某些行或列固定不动。冻结窗格可以帮助我们更容易地导航和理解复杂的数据集。相反,当你不需要冻结窗格时,你可能需要解冻它们以获得完整的视野。

下面将介绍如何使用免费.NET库通过C#实现冻结Excel窗口以锁定行和列,以及如何解除冻结。

 

免费.NET Excel库:

本文提供的实现方案需要用到 Free Spire.XLS for .NET 这个免费库。该库可以在 .NET 应用程序中快速实现对 Excel 文档的各种操作。可以通过Nuget直接安装,或者下载后手动引用Dll。

  1. PM> Install-Package FreeSpire.XLS

 

C# 冻结Excel窗口(冻结首行、首列、多行多列)

Free Spire.XLS for .NET免费库提供了 Worksheet.FreezePanes(int rowIndex, int columnIndex) 方法来冻结Excel行和列。其中的两个参数:

  • rowIndex: 表示行的索引 (索引从1开始),在该行之上的所有行将被冻结。
  • columnIndex: 表示列的索引(索引从1开始),在该列左边的所有列将被冻结。

因此,要冻结首行即为FreezePanes(2, 1),冻结首列为FreezePanes(1, 2),同时冻结首行首列为FreezePanes(2, 2),以此类推。

以下为冻结Excel行或列的C#示例代码:

  1. using Spire.Xls;
  2. namespace FreezeTopRow
  3. {
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. //加载Excel文档
  9. Workbook workbook = new Workbook();
  10. workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\测试.xlsx");
  11. //获取第一张工作表
  12. Worksheet sheet = workbook.Worksheets[0];
  13. //冻结首行
  14. sheet.FreezePanes(2, 1);
  15. //冻结首列
  16. //sheet.FreezePanes(1, 2);
  17. //冻结首行首列
  18. //sheet.FreezePanes(2, 2);
  19. //冻结前三行
  20. //sheet.FreezePanes(4, 1);
  21. //保存文件
  22. workbook.SaveToFile("冻结Excel行列.xlsx", ExcelVersion.Version2016);
  23. }
  24. }
  25. }

 

C# 解除冻结Excel行和列

要解除冻结,直接使用 Worksheet.RemovePanes() 方法即可,示例代码如下:

  1. using Spire.Xls;
  2. namespace UnfreezeExcelPane
  3. {
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. //加载Excel文件
  9. Workbook workbook = new Workbook();
  10. workbook.LoadFromFile("冻结行列.xls");
  11. //获取第一张工作表
  12. Worksheet sheet = workbook.Worksheets[0];
  13. //解冻工作表中的行或列
  14. sheet.RemovePanes();
  15. //保存文件
  16. workbook.SaveToFile("解冻Excel行列.xlsx", ExcelVersion.Version2016);
  17. }
  18. }
  19. }

 

原文链接:https://www.cnblogs.com/Yesi/p/18136075

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号