使用c#冻结excel列
发布时间:2020-12-15 17:59:51 所属栏目:百科 来源:网络整理
导读:我用c#生成一个excel spread-cheat,我想冻结第一列. 这是我使用的代码: public static void SaveToExcel(object[,] data) { Excel = Microsoft.VisualBasic.Interaction.CreateObject("Excel.Application",String.Empty); Excel.ScreenUpdating = false; dy
我用c#生成一个excel spread-cheat,我想冻结第一列.
这是我使用的代码: public static void SaveToExcel(object[,] data) { Excel = Microsoft.VisualBasic.Interaction.CreateObject("Excel.Application",String.Empty); Excel.ScreenUpdating = false; dynamic workbook = Excel.workbooks; workbook.Add(); dynamic worksheet = Excel.ActiveSheet; const int left = 1; const int top = 1; int height = data.GetLength(0); int width = data.GetLength(1); int bottom = top + height - 1; int right = left + width - 1; if (height == 0 || width == 0) return; dynamic rg = worksheet.Range[worksheet.Cells[top,left],worksheet.Cells[bottom,right]]; rg.Value = data; // Set borders for (var i = 1; i <= 4; i++) rg.Borders[i].LineStyle = 1; // Set header view dynamic rgHeader = worksheet.Range[worksheet.Cells[top,worksheet.Cells[top,right]]; rgHeader.Font.Bold = true; rgHeader.Interior.Color = 189 * (int)Math.Pow(16,4) + 129 * (int)Math.Pow(16,2) + 78; rg.EntireColumn.AutoFit(); // Show excel app Excel.ScreenUpdating = true; Excel.Visible = true; } 请你帮助我好吗??? 解决方法
正确的解决方案是添加以下代码:
worksheet.Activate(); worksheet.Application.ActiveWindow.SplitColumn = 1; worksheet.Application.ActiveWindow.FreezePanes = true; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容