客户提出能否将导入模板中,课程一列添加下拉框方便选择,不用手输入,以减少输入错误的可能性。于是在网上找了点代码,稍加整理后,形成了以下方案,代码部分:
一:生成课程列表,并放置在excel的单独sheet中。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
二:生成一个列表引用区域,方便需要的的地方加载这个引用区域。
?
1 2 |
|
三:引用以上生成的引用区域。
?
1 2 3 4 |
|
备注:代码区域二和网上的代码略有不同,网上代码一般为:
?
1 2 3 |
|
但在实际编写代码过程中,发现Hssfworkbook.CreateName()生成的是IName,无法直接转换为HSSFName,于是改为:
IName range =
workbook.CreateName();
range.RefersToFormula =
string.Format("{0}!$A$2:$A${1}",CourseSheetName,list.Count.ToString());
range.NameName
= RangeName;
运行也正常,奇怪为什么和网上代码不同呢?估计与NOPI版本有关吧。