csharp 赢智自动化Excel表格公式--NPOI
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 赢智自动化Excel表格公式--NPOI相关的知识,希望对你有一定的参考价值。
public static void CopyExcelTemplate(HSSFWorkbook wk)
{
var sheet = wk.GetSheetAt(0);
var lastRow = sheet.LastRowNum;
var numberStyle = wk.CreateCellStyle();
numberStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00");
sheet.ShiftRows(0, lastRow, 7, true, true);//在头部写新数据
sheet.CopyRow(8, 0);
int nowYear = DateTime.Now.Year;
for (var i = 1; i <= 5; i++)
{
int rowLine = GlobalConfig.DefaultYears - (i) + 1; //计算5年的 如今年2017 2012的在第二行(数组从0开始)
var fromDay = $"{(nowYear - rowLine)}/1/1";
var toDay = DateTime.Now.ToString("yyyy/MM/dd");
sheet.GetRow(i).CreateCell(0).SetCellValue(toDay);
sheet.GetRow(i).CreateCell(2).SetCellValue(toDay);
sheet.GetRow(i).CreateCell(1).SetCellValue(fromDay);
var testYears = sheet.GetRow(i).CreateCell(3);
testYears.CellStyle = numberStyle;
testYears.CellFormula=$"(C{i + 1}-B{i + 1})/365";//程序从0开始,excel从1开始
}
var PERYEAR_PROFIT_PRECENT = sheet.GetRow(6).CreateCell(6);
PERYEAR_PROFIT_PRECENT.CellFormula= "SUM(G2:G6)";
var TEMP_NUM = sheet.GetRow(6).CreateCell(7);
TEMP_NUM.CellFormula = "SUM(H2:H6)";
var ACT_PARA = sheet.GetRow(6).CreateCell(8);
ACT_PARA.CellFormula = "=VLOOKUP(MAX(G2:G6),G2:I6,3,0)";
sheet.ForceFormulaRecalculation = true;
}
以上是关于csharp 赢智自动化Excel表格公式--NPOI的主要内容,如果未能解决你的问题,请参考以下文章
Excel表格变颜色公式
如何让excel单元格公式中自动添加标点符号?
excel表格引用公式的方法步骤
excel表格利用公式标注颜色的教程
EXCEL表格引用多表数据设置公式的便捷方法
excel表格时间如何自动修改为当天的时间