/// <summary>
/// 插入Excel 通用方法
/// </summary>
/// <param name="sheet">sheet</param>
/// <param name="ExcelMaxRow">Excel最大行</param>
/// <param name="MaxYearNo">最大年</param>
/// <param name="projectID">项目ID</param>
/// <param name="schemaId">方案ID</param>
/// <param name="stationNo">能源站号</param>
/// <param name="StationYer">开始年</param>
/// <param name="TableName">表名字</param>
/// <param name="YearStationCell">年的单元格开始位置</param>
/// <param name="SumCell">求和但余个位置</param>
public void InsertExcel(ISheet sheet, int ExcelMaxRow, int MaxYearNo, int projectID, int schemaId, int stationNo, int StationYer, string TableName, int SumCell, int CreateCellNum)
{
for (int j = 4; j < ExcelMaxRow; j++)
{
double sum = 0;
for (int i = 0; i < MaxYearNo; i++)
{
//创建单元格
ICell cell = sheet.GetRow(j).CreateCell(CreateCellNum + i);
//获取第一排序号
string ItemNo = sheet.GetRow(j).GetCell(0).ToString();
//查询表 -------------这句话为了查询要插入单元格的值
double value = GetTechecTableInfo(TableName, projectID, schemaId, stationNo, ItemNo, i + 1);
//插入值
sheet.GetRow(j).GetCell(cell.Address.Column).SetCellValue(value);
//求和 ----为了求插入列值的总和 没啥用-----
sum += value;
if (j == 4)
{
//年份序号
sheet.GetRow(4).GetCell(cell.Address.Column).SetCellValue(1 + i);
}
if (j == 5)
{
//年份
sheet.GetRow(5).GetCell(cell.Address.Column).SetCellValue(StationYer + i);
}
}
if (j != 4 && j != 5)
{
sheet.GetRow(j).GetCell(SumCell).SetCellValue(sum);
}
}
}
Excel 不确定列的数量 自动创建列往右
最新推荐文章于 2023-03-07 15:56:06 发布