使用 Office JS 在 Excel 中格式化 Header
Format Header in Excel with Office JS
我目前正在尝试为 Excel 工作簿实现一些自动化。其中一部分是为该工作簿中的所有工作表设置一个公共 header。
header 应该是这样的:
Screenshot of the aimed header style and content
我在这里找到 question (52295459) how to access the headers, but i did not manage to format them. The code snippet is attached below. I read the documentation for the footerHeader class and for the references format codes。但是我卡住了。
所以,这些是我的问题:
- 是否可以以更通用的方式为工作簿中的所有工作表设置 header,而不是通过
getItem
及其名称访问每个工作表?
- 如何将字体颜色更改为#5E5E5E?
我尝试使用
&5E5E5E
、&c5E5E5E
、&color5E5E5E
、E5E5E
、&K5E5E5E
、&K"5E5E5E"
- 但没有任何效果。
编辑:我想更改 header 部分的颜色。
- 我只需要调整header的中间部分,可以保留左右部分的内容。但是,如果左侧和右侧部分不为空,则我在中间部分指定的任何内容都将附加到右侧部分的末尾 (attached string "center" wrongfully to right section)。有没有办法保留左右部分,只改变中间部分?
- 如果不是:我怎样才能将徽标作为图像插入并格式化它的 height/width?
到目前为止代码的工作部分:
//An array with the names of my wokrsheets
const worksheetNames : string[] = ["Titelseite", "GewerkeModule", "Statusanzeige", "Verteilerliste"];
//Access header of each sheet individually
for (const sheet of worksheetNames) {
const headerFooter : Excel.HeaderFooter = context.workbook.worksheets
.getItem(sheet)
.pageLayout
.headersFooters.defaultForAllPages;
//Set the strings for the header sections,
// in which also the formatting should be contained (I guess)
headerFooter.centerHeader = "center";
headerFooter.leftHeader = "left";
headerFooter.rightHeader = "right"
}
谢谢你的帮助!
亲切的问候
更新:
我试图再次解决我的问题,实际上我也无法重现问题 3。我不知道为什么以及我改变了什么。
通过打印出当前的 header 字符串,我至少发现 header.
的着色格式
所以,总结一下,我的问题的答案:
没有在所有工作表中设置 headers 的通用解决方案 - 感谢您向 Rita 说明。
但是:循环遍历所有工作表的解决方案似乎可行(请参阅上面的代码)
这会将颜色设置为浅灰色,并在第三行中包含“第 X 页,共 y 页”部分。
但是:这些短代码(&Z、&S、&A)与 Microsoft 引用的格式代码无关。我猜这些是德语格式代码,因为我的 Excel 安装设置为德语。但是,如果不同的语言设置需要不同的代码,那会很烦人吗?
context.workbook.worksheets.getItem(sheet).pageLayout.headersFooters.defaultForAllPages.centerHeader = "&Z&M01+043Heder Line1 \nNextLine\nPage &S of &A"
&Z
将输出居中(“zentrieren”)
&M01+043
好像设置字体颜色为浅灰色
\n
用于换行
&S
当前页码(“Seite”)
&A
总页数
我也无法重现错误。魔法?好像跟格式化有关...
尚未实施 - 再次感谢 Rita
谢谢post这里的问题。
目前无法使用一个 API 为所有 sheet 设置 header 和页脚,这可能是一个新请求。
var worksheet = context.workbook.worksheets.getItem("Sheet7"); var range = worksheet.getRange("A1"); range.format.font.color = "5e5e5e";
可以帮忙设置颜色
无法重现,试过在设置左右header时设置中间header,在win32下效果很好,请问你打的是哪个平台?
很抱歉通知您 api 级别尚不支持该图片,您可以提交新请求 点击 here!
我目前正在尝试为 Excel 工作簿实现一些自动化。其中一部分是为该工作簿中的所有工作表设置一个公共 header。
header 应该是这样的: Screenshot of the aimed header style and content
我在这里找到 question (52295459) how to access the headers, but i did not manage to format them. The code snippet is attached below. I read the documentation for the footerHeader class and for the references format codes。但是我卡住了。
所以,这些是我的问题:
- 是否可以以更通用的方式为工作簿中的所有工作表设置 header,而不是通过
getItem
及其名称访问每个工作表? - 如何将字体颜色更改为#5E5E5E?
我尝试使用
&5E5E5E
、&c5E5E5E
、&color5E5E5E
、E5E5E
、&K5E5E5E
、&K"5E5E5E"
- 但没有任何效果。 编辑:我想更改 header 部分的颜色。 - 我只需要调整header的中间部分,可以保留左右部分的内容。但是,如果左侧和右侧部分不为空,则我在中间部分指定的任何内容都将附加到右侧部分的末尾 (attached string "center" wrongfully to right section)。有没有办法保留左右部分,只改变中间部分?
- 如果不是:我怎样才能将徽标作为图像插入并格式化它的 height/width?
到目前为止代码的工作部分:
//An array with the names of my wokrsheets
const worksheetNames : string[] = ["Titelseite", "GewerkeModule", "Statusanzeige", "Verteilerliste"];
//Access header of each sheet individually
for (const sheet of worksheetNames) {
const headerFooter : Excel.HeaderFooter = context.workbook.worksheets
.getItem(sheet)
.pageLayout
.headersFooters.defaultForAllPages;
//Set the strings for the header sections,
// in which also the formatting should be contained (I guess)
headerFooter.centerHeader = "center";
headerFooter.leftHeader = "left";
headerFooter.rightHeader = "right"
}
谢谢你的帮助! 亲切的问候
更新: 我试图再次解决我的问题,实际上我也无法重现问题 3。我不知道为什么以及我改变了什么。 通过打印出当前的 header 字符串,我至少发现 header.
的着色格式所以,总结一下,我的问题的答案:
没有在所有工作表中设置 headers 的通用解决方案 - 感谢您向 Rita 说明。 但是:循环遍历所有工作表的解决方案似乎可行(请参阅上面的代码)
这会将颜色设置为浅灰色,并在第三行中包含“第 X 页,共 y 页”部分。 但是:这些短代码(&Z、&S、&A)与 Microsoft 引用的格式代码无关。我猜这些是德语格式代码,因为我的 Excel 安装设置为德语。但是,如果不同的语言设置需要不同的代码,那会很烦人吗?
context.workbook.worksheets.getItem(sheet).pageLayout.headersFooters.defaultForAllPages.centerHeader = "&Z&M01+043Heder Line1 \nNextLine\nPage &S of &A"
&Z
将输出居中(“zentrieren”)&M01+043
好像设置字体颜色为浅灰色\n
用于换行&S
当前页码(“Seite”)&A
总页数我也无法重现错误。魔法?好像跟格式化有关...
尚未实施 - 再次感谢 Rita
谢谢post这里的问题。
目前无法使用一个 API 为所有 sheet 设置 header 和页脚,这可能是一个新请求。
var worksheet = context.workbook.worksheets.getItem("Sheet7"); var range = worksheet.getRange("A1"); range.format.font.color = "5e5e5e";
可以帮忙设置颜色无法重现,试过在设置左右header时设置中间header,在win32下效果很好,请问你打的是哪个平台?
很抱歉通知您 api 级别尚不支持该图片,您可以提交新请求 点击 here!