如何解决使用 EPPlus 将公式复制到多个单元格
我正在使用 Epplus
并使用它将公式输入到单元格 K1
和 K2
中,此代码非常适用于此。但是,我需要将公式从 K1
和 K2
向右“拖动”,直到到达包含数据的最后一列。
我当前的代码是
ws.Cells["K1"].Formula = "=LEFT(K7,(FIND(\" \",K7,1))";
ws.Cells["K2"].Formula = "=RIGHT(K7,LEN(K7)-FIND(\" \",K&,1))";
ws.Cells["K2"].Style.WrapText = true;
ws.Cells["K2"].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
ws.Cells["K2"].Style.HorizontalAlighment = ExcelHorizontalAlignment.Center;
解决方法
实现您想要的结果的另一种方法是
using (var pck = new ExcelPackage(new FileInfo("C:\\Test\\Test.xlsx")))
{
ExcelWorksheet ws = pck.Workbook.Worksheets[0];
var startColumnIndex = 11;
const int dataSourceRowIndex = 3;
while (ws.Cells[dataSourceRowIndex,startColumnIndex].Value != null)
{
ws.Cells[1,startColumnIndex].Formula = $"=LEFT({ws.Cells[dataSourceRowIndex,startColumnIndex].Address},(FIND(\" \",{ws.Cells[dataSourceRowIndex,1)-1))";
ws.Cells[2,startColumnIndex].Formula = $"=RIGHT({ws.Cells[dataSourceRowIndex,LEN({ws.Cells[dataSourceRowIndex,startColumnIndex].Address})-FIND(\" \",1))";
ws.Cells[2,startColumnIndex].Style.WrapText = true;
ws.Cells[2,startColumnIndex].Style.VerticalAlignment = ExcelVerticalAlignment.Center;
ws.Cells[2,startColumnIndex].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
startColumnIndex++;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。