代码根据模板的所在列的顺序读取对应的列值
ExcelWorksheet ws = p.Workbook.Worksheets[1];
if (CostFactCommon.GetCellValue(ws.Cells[r, 14]).ToString().Trim() != "3" &&
CostFactCommon.GetCellValue(ws.Cells[r, 14]).ToString().Trim() != "9" &&
CostFactCommon.GetCellValue(ws.Cells[r, 14]).ToString().Trim() != "")
{
res["result"] = "0";
res["message"] = string.Format("第{0}行,列【3/9区分-BASE】的值只能选择3或9,请检查!", r);
return res;
}
public static object GetCellValue(ExcelRange er)
{
object o = er.Value;
if (o == null)
{
o = string.Empty;
}
return o;
}
已知是否估算编号是6 代码里就是获取的6,要是我在是否估算前面加一列,那我后面的都要加1,不然读取的编号是前面一个编号编号的值,程序就会异常。
我增加一列,有什么方法能把改动做到最小,不需要每个列的编号都要加1。
这样的话,你可以先根据表头 确定是哪一列记下索引值,然后下面的行就根据这个索引获取就可以了
你好,
没有什么办法,你是Excel,只能获取每列的编号。如果你是datatable 什么的,可以直接获取列名,也就无需修改编号了。