在具有多个工作表的 cfspreadsheet 中应用密码
apply password in cfspreadsheet with multiples sheets
如何保护两个sheet?目前代码只保护第一个 sheet.
var plan = spreadsheetNew("TEST", true);
SpreadsheetCreateSheet(plan , "TEST2" );
cfspreadsheet(
action="write", fileName="temp.xslx", name="plan",
overwrite=true, sheetname="TEST", password="123"
);
我还测试了在 cfspreadsheet
中省略 sheet 名称
cfspreadsheet(action="write", fileName="temp.xslx", name="plan", overwrite=true, password="123");
更新(基于评论)
如果您希望能够更改所选 sheet,我会恢复到您的代码,然后使用内部 Java 库来设置密码。
plan = spreadsheetNew("TEST", true);
SpreadsheetCreateSheet(plan , "TEST2" );
workbookJavaObj = plan.getWorkBook();
workbookJavaObj.getSheetAt(0).protectSheet('123');
workbookJavaObj.getSheetAt(1).protectSheet('123');
spreadsheetSetActiveSheet(plan, "TEST2");
cfspreadsheet(
action="write", fileName="temp.xlsx", name="plan", overwrite=true
);
冷熔解决方案
我认为应该这样做。创建一个新的 spreadsheet 对象并利用 action="update"
将 sheet 添加到之前写入的文件中。
plan = spreadsheetNew("TEST", true);
cfspreadsheet(action="write", fileName="temp.xlsx", name="plan", overwrite=true, sheetname="TEST", password="123");
plan2 = spreadsheetNew("TEST2", true);
cfspreadsheet(action="update", fileName="temp.xlsx", name="plan2", sheetname="TEST2", password="123");
如何保护两个sheet?目前代码只保护第一个 sheet.
var plan = spreadsheetNew("TEST", true);
SpreadsheetCreateSheet(plan , "TEST2" );
cfspreadsheet(
action="write", fileName="temp.xslx", name="plan",
overwrite=true, sheetname="TEST", password="123"
);
我还测试了在 cfspreadsheet
中省略 sheet 名称cfspreadsheet(action="write", fileName="temp.xslx", name="plan", overwrite=true, password="123");
更新(基于评论)
如果您希望能够更改所选 sheet,我会恢复到您的代码,然后使用内部 Java 库来设置密码。
plan = spreadsheetNew("TEST", true);
SpreadsheetCreateSheet(plan , "TEST2" );
workbookJavaObj = plan.getWorkBook();
workbookJavaObj.getSheetAt(0).protectSheet('123');
workbookJavaObj.getSheetAt(1).protectSheet('123');
spreadsheetSetActiveSheet(plan, "TEST2");
cfspreadsheet(
action="write", fileName="temp.xlsx", name="plan", overwrite=true
);
冷熔解决方案
我认为应该这样做。创建一个新的 spreadsheet 对象并利用 action="update"
将 sheet 添加到之前写入的文件中。
plan = spreadsheetNew("TEST", true);
cfspreadsheet(action="write", fileName="temp.xlsx", name="plan", overwrite=true, sheetname="TEST", password="123");
plan2 = spreadsheetNew("TEST2", true);
cfspreadsheet(action="update", fileName="temp.xlsx", name="plan2", sheetname="TEST2", password="123");