我需要为使用c# epplus库生成的excel文件设置起始页编号。我可以像下面这样设置页脚。
ws.HeaderFooter.OddFooter.RightAlignedText =string.Format("Page-{0}", ExcelHeaderFooter.PageNumber);我需要将页码设置为从9这样的自定义数字输入开始。我该怎么做呢?例如:第一页页码中的页码应为9,第二页中的页码应为10,然后是11,依此类推...
发布于 2018-01-24 20:10:21
ExcelHeaderFooter.PageNumber是一个字符串,它的值是"&P",它被excel解释为页码,所以你不能从代码中更新它。
但是,您可以使用以下命令来实现所需的功能:
var sheetNumber = 1;
var startingPageNumber = 9;
foreach (var sheet in package.Workbook.Worksheets)
{
sheet.HeaderFooter.OddFooter.RightAlignedText= string.Format("Page-{0}", sheetNumber + startingPageNumber);
sheet.HeaderFooter.EvenFooter.RightAlignedText = string.Format("Page-{0}", sheetNumber + startingPageNumber);
sheetNumber++;
}上面的代码已经过测试和验证,可以执行您需要的操作。
发布于 2019-02-13 23:36:46
在Excel的页眉/页脚中,您具有以下代码:
&D当前日期
&T当前时间
&F工作簿名称
&A工作表名称(来自工作表选项卡)
&P当前页码
&P+x当前页码加x
&P-x当前页码减去x
&N工作簿中的总页数
&&与符号字符
与Yahya says in the other answer一样,ExcelHeaderFooter.PageNumber的值也是&P,所以您可以只使用&P+x
int PageStart = 5;
worksheet.HeaderFooter.OddFooter.RightAlignedText = string.Format("Page-{0}+{1}.", ExcelHeaderFooter.PageNumber,PageStart-1);它会正常工作的。
请注意,如果没有点,示例就无法工作,在这种情况下,excel只是将1和5连接起来(我真的不知道为什么会这样)。
https://stackoverflow.com/questions/48416112
复制相似问题