当前位置: 首页 > 编程语言 > C#

SettingCellValuesUsingExcelInterop分享

时间:2023-04-10 10:55:49 C#

SettingCellValuesUsingExcelInterop好吧,所以我正在尝试使用excelinterop库来设置单元格的值。我可以用以下方法做到这一点:sheet.Cells[row,col]=value;但是对于我设置的数量来说它非常慢。所以我想走这条路:RangeexcelRange=sheet.UsedRange;excelRange.Cells.set_Item(行,列,值);代码执行,但没有数据放入单元格。对我所缺少的有什么建议吗?谢谢!如果屏幕更新被禁用(Application.ScreenUpdating=false),那么第一种方法应该适用于任何合理(和大量不合理)的单元格。知识库文章介绍了如何使用C#访问行和列来设置单元格。您是否尝试过一次设置所有值,而不是遍历数组并一次设置一个单元格?这样,您只需跨COM边界传递一次数据,而不是每个单元一次。Excel在这方面非常灵活。试试这个:int[]intArray=newint[]{1,2,3,4,5,6,7,8,9,10};范围rng=excelApp.get_Range("A1","J1");rng.Value=intArray;您应该比迭代要设置的每个单元格更快。除此之外,按照安迪的建议,关闭Screenypdated,并考虑将计算设置为手动,直到完成复制过程。简单的解决方案,但在这里你需要安装包Microsoft.Office.Interop.ExcelinstallpackageMicrosoft.Office.Interop.Excel//testexcelfileMicrosoft.Office.Interop.Excel.Applicationbywritinginnugetconsoleexcel=newMicrosoft.Office.Interop.Excel.Application();工作簿workbook=excel.Workbooks.Open(System.Windows.Forms.Application.StartupPath+"/TrainedFaces/AttendanceLog.xlsx",ReadOnly:false,Editable:true);Worksheetworksheet=workbook.Worksheets.Item[1]asWorksheet;如果(工作表==null)返回;varabc=worksheet.Cells[2,1].Value;范围row1=worksheet.Rows.Cells[1,1];范围row2=worksheet.Rows.Cells[2,1];row1.Value="Test100";row2.Value="Test200";excel.Application.ActiveWorkbook.Save();excel.Application.Quit();excel.Quit();请尝试以上是C#学习教程:使用Excel互通设置单元格值共享。[excelWorksheet].Cells[1,1]="[你想要的字符串]";本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢