Skip to content

Commit

Permalink
fix: don't load values in excluded sheets
Browse files Browse the repository at this point in the history
  • Loading branch information
fzumstein committed May 5, 2023
1 parent 8be1ade commit 9c34a95
Showing 1 changed file with 23 additions and 17 deletions.
40 changes: 23 additions & 17 deletions xlwingsjs/src/xlwings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,10 @@ export async function runPython(
let sheetsLoader = [];
sheets.forEach((sheet) => {
sheet.load("name names");
let lastCell: Excel.Range;
if (sheet.getUsedRange() !== undefined) {
let lastCell: Excel.Range | null;
if (excludeArray.includes(sheet.name)) {
lastCell = null;
} else if (sheet.getUsedRange() !== undefined) {
lastCell = sheet.getUsedRange().getLastCell().load("address");
} else {
lastCell = sheet.getRange("A1").load("address");
Expand All @@ -146,28 +148,32 @@ export async function runPython(
await context.sync();

sheetsLoader.forEach((item, ix) => {
let range: Excel.Range;
range = item["sheet"]
.getRange(`A1:${item["lastCell"].address}`)
.load("values, numberFormatCategories");
sheetsLoader[ix]["range"] = range;
// Names (sheet scope)
sheetsLoader[ix]["names"] = item["sheet"].names.load("name, type");
if (!excludeArray.includes(item["sheet"].name)) {
let range: Excel.Range;
range = item["sheet"]
.getRange(`A1:${item["lastCell"].address}`)
.load("values, numberFormatCategories");
sheetsLoader[ix]["range"] = range;
// Names (sheet scope)
sheetsLoader[ix]["names"] = item["sheet"].names.load("name, type");
}
});

await context.sync();

// Names (sheet scope)
let namesSheetScope: Names[] = [];
sheetsLoader.forEach((item) => {
item["names"].items.forEach((namedItem, ix) => {
namesSheetScope[ix] = {
name: namedItem.name,
sheet: namedItem.getRange().worksheet.load("position"),
range: namedItem.getRange().load("address"),
book_scope: false,
};
});
if (!excludeArray.includes(item["sheet"].name)) {
item["names"].items.forEach((namedItem, ix) => {
namesSheetScope[ix] = {
name: namedItem.name,
sheet: namedItem.getRange().worksheet.load("position"),
range: namedItem.getRange().load("address"),
book_scope: false,
};
});
}
});

await context.sync();
Expand Down

0 comments on commit 9c34a95

Please sign in to comment.