首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExcelJS冻结行

ExcelJS冻结行
EN

Stack Overflow用户
提问于 2020-04-06 17:41:22
回答 1查看 2.1K关注 0票数 1

我试图冻结ExcelJS中的行,但无法使其工作。

我都在尝试

代码语言:javascript
复制
worksheet.views = [
{state: 'frozen', ySplit: 1}
];

代码语言:javascript
复制
workbook.addWorksheet(sheetName, {
views: [
{state: 'frozen', ySplit: 1}
]
});

但不起作用。

我还得到了“我们发现了一个问题,with...Do,你想要恢复得那么多。”打开电子表格时发出警告。

有人把这个弄到手吗?我想做的就是冻结第七排。我可以在Excel中做到这一点。

据报道,这里中有一个问题似乎表明它不是Excel本身的一个特性。但我想知道为什么它也会破坏文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-09 01:30:53

试试这个:

代码语言:javascript
复制
workbook.addWorksheet(sheetName, {
    views: [{ state: "frozen", ySplit: 1 }],
});

对我来说很管用。

更多详细信息:

代码语言:javascript
复制
const Excel = require("exceljs");

const writeFile = async (sheetName, columns, list, file) => {
  let workbook = new Excel.Workbook();
  let sheet = workbook.addWorksheet(sheetName, {
    views: [{ state: "frozen", ySplit: 1 }],
  });
  sheet.columns = columns;

  for (const record of list) {
    sheet.addRow(record);
  }
  workbook.xlsx.writeFile(file);
};


const test = async () => {
  const columns = [
    { header: "Column1", key: "column1" },
    { header: "Column2", key: "column2" },
    { header: "Column3", key: "column3" },
  ];
  let list = [];
  for (let i = 1; i < 100; i++) {
    let record = {};
    record.column1 = `line${i}_column1`;
    record.column2 = `line${i}_column2`;
    record.column3 = `line${i}_column3`;
    list.push(record);
  }
  const file = "c:/temp/test.xlsx";
  await writeFile("sheet1", columns, list, file);
};
test();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61065697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档