├── .DS_Store
├── .babelrc
├── .eslintrc.json
├── .gitignore
├── .npmrc
├── .vscode
├── extensions.json
├── launch.json
├── settings.json
└── tasks.json
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── __tests__
├── App.test.tsx
├── IDE.test.tsx
├── Query.test.tsx
├── QueryTable.test.tsx
└── Querybox.test.tsx
├── assets
├── boost-banner.png
├── boost-icon-128.png
├── boost-icon-16.png
├── boost-icon-32.png
└── boost-icon-80.png
├── config
└── CSSStub.js
├── docs
├── excelFunction.js.html
├── fonts
│ ├── OpenSans-Bold-webfont.eot
│ ├── OpenSans-Bold-webfont.svg
│ ├── OpenSans-Bold-webfont.woff
│ ├── OpenSans-BoldItalic-webfont.eot
│ ├── OpenSans-BoldItalic-webfont.svg
│ ├── OpenSans-BoldItalic-webfont.woff
│ ├── OpenSans-Italic-webfont.eot
│ ├── OpenSans-Italic-webfont.svg
│ ├── OpenSans-Italic-webfont.woff
│ ├── OpenSans-Light-webfont.eot
│ ├── OpenSans-Light-webfont.svg
│ ├── OpenSans-Light-webfont.woff
│ ├── OpenSans-LightItalic-webfont.eot
│ ├── OpenSans-LightItalic-webfont.svg
│ ├── OpenSans-LightItalic-webfont.woff
│ ├── OpenSans-Regular-webfont.eot
│ ├── OpenSans-Regular-webfont.svg
│ └── OpenSans-Regular-webfont.woff
├── global.html
├── index.html
├── scripts
│ ├── linenumber.js
│ └── prettify
│ │ ├── lang-css.js
│ │ └── prettify.js
└── styles
│ ├── jsdoc-default.css
│ ├── prettify-jsdoc.css
│ └── prettify-tomorrow.css
├── jest.config.js
├── jsdoc.json
├── manifest.xml
├── package-lock.json
├── package.json
├── references
├── allWorkBook Object pix.png
├── ast-WHERE-multiple.png
├── ast-WHERE.png
├── ast.png
├── queryHeaders.png
└── togglecheckboxFunction.png
├── src
├── commands
│ ├── commands.html
│ └── commands.ts
├── excelFunction.ts
├── functions
│ ├── functions.html
│ └── functions.ts
├── taskpane
│ ├── components
│ │ ├── App.tsx
│ │ ├── Contexts.tsx
│ │ ├── IDE.tsx
│ │ ├── NavBar.tsx
│ │ ├── Query.tsx
│ │ ├── ide
│ │ │ ├── FuncInput.tsx
│ │ │ └── FuncLibrary.tsx
│ │ └── query
│ │ │ ├── QueryTable.tsx
│ │ │ ├── Querybox.tsx
│ │ │ └── queryFunctions
│ │ │ ├── handleQuery.ts
│ │ │ ├── reloadSheets.ts
│ │ │ ├── selectParser.ts
│ │ │ └── whereFilter.ts
│ ├── index.tsx
│ ├── taskpane.css
│ └── taskpane.html
└── types.ts
├── tsconfig.json
└── webpack.config.js
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/Boost/2d6ffdad1592a7ac2d43408db071030d6c34e218/.DS_Store
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["@babel/preset-env", "@babel/preset-typescript", "@babel/preset-react"]
3 | }
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | "office-addins"
4 | ],
5 | "extends": [
6 | "plugin:office-addins/recommended"
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | dist/
3 | .DS_Store
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 | registry=https://registry.npmjs.org/
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
3 | // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
4 |
5 | // List of extensions which should be recommended for users of this workspace.
6 | "recommendations": [
7 | "ms-edgedevtools.vscode-edge-devtools",
8 | "msoffice.microsoft-office-add-in-debugger",
9 | "dbaeumer.vscode-eslint",
10 | "esbenp.prettier-vscode"
11 | ],
12 | // List of extensions recommended by VS Code that should not be recommended for users of this workspace.
13 | "unwantedRecommendations": []
14 | }
15 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "name": "Excel Desktop (Custom Functions)",
9 | "type": "node",
10 | "request": "attach",
11 | "port": 9229,
12 | "protocol": "inspector",
13 | "timeout": 600000,
14 | "preLaunchTask": "Debug: Excel Desktop",
15 | "postDebugTask": "Stop Debug"
16 | },
17 | {
18 | "name": "Excel Desktop (Edge Chromium)",
19 | "type": "pwa-msedge",
20 | "request": "attach",
21 | "useWebView": true,
22 | "port": 9229,
23 | "timeout": 600000,
24 | "webRoot": "${workspaceRoot}",
25 | "preLaunchTask": "Debug: Excel Desktop",
26 | "postDebugTask": "Stop Debug"
27 | },
28 | {
29 | "name": "Excel Desktop (Edge Legacy)",
30 | "type": "office-addin",
31 | "request": "attach",
32 | "url": "https://localhost:3000/taskpane.html?_host_Info=Excel$Win32$16.01$en-US$$$$0",
33 | "port": 9222,
34 | "timeout": 600000,
35 | "webRoot": "${workspaceRoot}",
36 | "preLaunchTask": "Debug: Excel Desktop",
37 | "postDebugTask": "Stop Debug"
38 | },
39 | {
40 | "name": "Office Online (Chrome)",
41 | "type": "chrome",
42 | "request": "launch",
43 | // To debug your Add-in:
44 | // 1. When prompted, enter the url (share link) to an Office Online document.
45 | // 2. Sideload your Add-in. https://docs.microsoft.com/en-us/office/dev/add-ins/testing/sideload-office-add-ins-for-testing
46 | "url": "${input:officeOnlineDocumentUrl}",
47 | "webRoot": "${workspaceFolder}",
48 | "preLaunchTask": "Debug: Web"
49 | },
50 | {
51 | "name": "Office Online (Edge Chromium)",
52 | "type": "pwa-msedge",
53 | "request": "launch",
54 | "port": 9222,
55 | // To debug your Add-in:
56 | // 1. When prompted, enter the url (share link) to an Office Online document.
57 | // 2. Sideload your Add-in. https://docs.microsoft.com/en-us/office/dev/add-ins/testing/sideload-office-add-ins-for-testing
58 | "url": "${input:officeOnlineDocumentUrl}",
59 | "webRoot": "${workspaceFolder}",
60 | "preLaunchTask": "Debug: Web"
61 | }
62 | ],
63 | "inputs": [
64 | {
65 | "id": "officeOnlineDocumentUrl",
66 | "type": "promptString",
67 | "description": "Please enter the url for the Office Online document."
68 | }
69 | ]
70 | }
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "eslint.validate": [
3 | "javascript",
4 | "javascriptreact",
5 | "typescript"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | // See https://go.microsoft.com/fwlink/?LinkId=733558
3 | // for the documentation about the tasks.json format
4 | "version": "2.0.0",
5 | "tasks": [
6 | {
7 | "label": "Build (Development)",
8 | "type": "npm",
9 | "script": "build:dev",
10 | "group": {
11 | "kind": "build",
12 | "isDefault": true
13 | },
14 | "presentation": {
15 | "clear": true,
16 | "panel": "shared",
17 | "showReuseMessage": false
18 | }
19 | },
20 | {
21 | "label": "Build (Production)",
22 | "type": "npm",
23 | "script": "build",
24 | "group": "build",
25 | "presentation": {
26 | "clear": true,
27 | "panel": "shared",
28 | "showReuseMessage": false
29 | }
30 | },
31 | {
32 | "label": "Debug: Excel Desktop",
33 | "type": "npm",
34 | "script": "start:desktop -- --app excel",
35 | "presentation": {
36 | "clear": true,
37 | "panel": "dedicated",
38 | },
39 | "problemMatcher": []
40 | },
41 | {
42 | "label": "Debug: Web",
43 | "type": "npm",
44 | "script": "start:web",
45 | "presentation": {
46 | "clear": true,
47 | "panel": "shared",
48 | "showReuseMessage": false
49 | },
50 | "problemMatcher": []
51 | },
52 | {
53 | "label": "Dev Server",
54 | "type": "npm",
55 | "script": "dev-server",
56 | "presentation": {
57 | "clear": true,
58 | "panel": "dedicated"
59 | },
60 | "problemMatcher": [],
61 | "runOptions": {
62 | "runOn": "folderOpen"
63 | }
64 | },
65 | {
66 | "label": "Install",
67 | "type": "npm",
68 | "script": "install",
69 | "presentation": {
70 | "clear": true,
71 | "panel": "shared",
72 | "showReuseMessage": false
73 | },
74 | "problemMatcher": []
75 | },
76 | {
77 | "label": "Lint: Check for problems",
78 | "type": "npm",
79 | "script": "lint",
80 | "problemMatcher": [
81 | "$eslint-stylish"
82 | ]
83 | },
84 | {
85 | "label": "Lint: Fix all auto-fixable problems",
86 | "type": "npm",
87 | "script": "lint:fix",
88 | "problemMatcher": [
89 | "$eslint-stylish"
90 | ]
91 | },
92 | {
93 | "label": "Stop Debug",
94 | "type": "npm",
95 | "script": "stop",
96 | "presentation": {
97 | "clear": true,
98 | "panel": "shared",
99 | "showReuseMessage": false
100 | },
101 | "problemMatcher": []
102 | },
103 | {
104 | "label": "Watch",
105 | "type": "npm",
106 | "script": "watch",
107 | "presentation": {
108 | "clear": true,
109 | "panel": "dedicated"
110 | },
111 | "problemMatcher": []
112 | },
113 | ]
114 | }
115 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contribute to this code sample
2 |
3 | Thank you for your interest in this sample! Your contributions and improvements will help the developer community.
4 |
5 | ## Ways to contribute
6 |
7 | There are several ways you can contribute to this sample: providing better code comments, fixing open issues, and adding new features.
8 |
9 | ### Provide better code comments
10 |
11 | Code comments make code samples even better by helping developers learn to use the code correctly in their own applications. If you spot a class, method, or section of code that you think could use better descriptions, then create a pull request with your code comments.
12 |
13 |
14 | In general, we want our code comments to follow these guidelines:
15 |
16 | - Any code that has associated documentation displayed in an IDE (such as IntelliSense, or JavaDocs) has code comments.
17 | - Classes, methods, parameters, and return values have clear descriptions.
18 | - Exceptions and errors are documented.
19 | - Remarks exist for anything special or notable about the code.
20 | - Sections of code that have complex algorithms have appropriate comments describing what they do.
21 | - Code added from Stack Overflow, or any other source, is clearly attributed.
22 |
23 | ### Fix open issues
24 |
25 | Sometimes we get a lot of issues, and it can be hard to keep up. If you have a solution to an open issue that hasn't been addressed, fix the issue and then submit a pull request.
26 |
27 | ### Add a new feature
28 |
29 | New features are great! Be sure to check with the repository admin first to be sure the feature fits the intent of the sample. Start by opening an issue in the repository that proposes and describes the feature. The repository admin will respond and may ask for more information. If the admin agrees to the new feature, create the feature and submit a pull request.
30 |
31 | ## Contribution guidelines
32 |
33 | We have some guidelines to help maintain a healthy repo and code for everyone.
34 |
35 | ### The Contribution License Agreement
36 |
37 | For most contributions, we ask you to sign a Contribution License Agreement (CLA). This will happen when you submit a pull request. Microsoft will send a link to the CLA to sign via email. Once you sign the CLA, your pull request can proceed. Read the CLA carefully, because you may need to have your employer sign it.
38 |
39 | ### Code contribution checklist
40 |
41 | Be sure to satisfy all of the requirements in the following list before submitting a pull request:
42 |
43 | - Follow the code style that is appropriate for the platform and language in this repo. For example, Android code follows the style conventions found in the [Code Style for Contributors guide](https://source.android.com/source/code-style.html).
44 | - Test your code.
45 | - Test the UI thoroughly to be sure your change hasn't broken anything.
46 | - Keep the size of your code change reasonable. If the repository owner cannot review your code change in 4 hours or less, your pull request may not be reviewed and approved quickly.
47 | - Avoid unnecessary changes. The reviewer will check differences between your code and the original code. Whitespace changes are called out along with your code. Be sure your changes will help improve the content.
48 |
49 | ### Submit a pull request to the master branch
50 |
51 | When you're finished with your work and are ready to have it merged into the master repository, follow these steps. Note: pull requests are typically reviewed within 10 business days. If your pull request is accepted you will be credited for your submission.
52 |
53 | 1. Submit your pull request against the master branch.
54 | 2. Sign the CLA, if you haven't already done so.
55 | 3. One of the repo admins will process your pull request, including performing a code review. If there are questions, discussions, or change requests in the pull request, be sure to respond.
56 | 4. When the repo admins are satisfied, they will accept and merge the pull request.
57 |
58 | Congratulations, you have successfully contributed to the sample!
59 |
60 | ## FAQ
61 |
62 | ### Where do I get a Contributor's License Agreement?
63 |
64 | If your pull request requires one, you'll automatically be sent a notice that you need to sign the Contributor's License Agreement (CLA).
65 |
66 | As a community member, you must sign the CLA before you can contribute large submissions to this project. You only need complete and submit the CLA document once. Carefully review the document. You may be required to have your employer sign the document.
67 |
68 | ### What happens with my contributions?
69 |
70 | When you submit your changes via a pull request, our team will be notified and will review your pull request. You'll receive notifications about your pull request from GitHub; you may also be notified by someone from our team if we need more information. We reserve the right to edit your submission for legal, style, clarity, or other issues.
71 |
72 | ### Who approves pull requests?
73 |
74 | The admin of the repository approves pull requests.
75 |
76 | ### How soon will I get a response about my change request or issue?
77 |
78 | We typically review pull requests and respond to issues within 10 business days.
79 |
80 | ## More resources
81 |
82 | - To learn more about Markdown, see [Daring Fireball](http://daringfireball.net/).
83 | - To learn more about using Git and GitHub, check out the [GitHub Help section](http://help.github.com/).
84 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Excel Custom Functions
2 |
3 | MIT License
4 |
5 | Copyright (c) Microsoft Corporation. All rights reserved.
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | SOFTWARE
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
Microsoft Excel Add-in for Developers
14 |
15 | ## About Us
16 | Boost is a Microsoft Excel Add-in to help developers import large excel workbooks into their database using SQL queries. Microsoft Excel has more than 30 million users and is the most popular spreadsheet application on the market. It is one of Microsoft’s core products since Excel’s release in 1985 and it has a new user every five minutes.
17 |
18 | check out our website [www.boost-excel.com](http://boost-excel.s3-website-us-east-1.amazonaws.com)
19 |
20 | ## Features
21 |
22 | 📝 **Reading and writing from multiple sheets to query table**
23 |
24 | 💪 **Ability to write and use custom functions directly in Excel with TypeScript**
25 |
26 | ***
27 |
28 |
29 | ## Getting Started
30 |
31 | ### Installation
32 |
33 | **Prerequisite**: Install Microsoft Excel Desktop version 16 and up.
34 |
35 | 1. Fork and clone this repository.
36 | 2. ```npm install```
37 | 3. ```npm start```
38 |
39 | ### Technologies
40 | [Excel](https://www.microsoft.com/en-us/microsoft-365/excel) | [Excel JS API](https://docs.microsoft.com/en-us/office/dev/add-ins/reference/overview/excel-add-ins-reference-overview) | [React](https://reactjs.org/) | [React Hooks](https://reactjs.org/docs/hooks-intro.html) | [Typescript](https://www.typescriptlang.org/) | [SQL](https://www.postgresql.org/) | [CodeMirror](https://codemirror.net/) | [Jest](https://jestjs.io/)
41 |
42 | ***
43 |
44 |
45 | ## How it works
46 |
47 | ### How to open
48 | 1. Go to the ribbon **INSERT**, **Add-Ins**. Click on Boost and head back to **HOME** to open.
49 |
50 |
51 | ### Querying
52 | 2. Click on the **Query** tab in the add-in to utilize the querying feature. Query across multiple worksheets in your Excel application.
53 |
54 |
55 | ### Custom Function Creations
56 | 3. Click on the **IDE** tab to create and save customized TypeScript functions.
57 |
58 |
59 | ***
60 |
61 |
62 | ## The Boost Team
63 |
64 |
65 | > Charles Ren [@codeWithRen](https://github.com/codeWithRen)
66 | > Chloe Courtois [@chloecourt](https://github.com/chloecourt)
67 | > Janson Xavier [@JansonXavier](https://github.com/JansonXavier)
68 | > Sophia Sam [@sophiasam96](https://github.com/sophiasam96)
69 |
70 |
71 |
72 | ***
73 |
74 | ## If You Want To Contribute!
75 |
76 | If you found this interesting or helpful at all, feel free to drop a :star: [](https://github.com/oslabs-beta/Boost/stargazers) :star: on this project to show your support!
77 |
78 | All bugs, tasks or enhancements are tracked as GitHub issues.
79 |
80 | The following is a list of features + improvements for future open-source developers that the Boost team has either started or would like to see implemented. If you have additional new ideas, feel free to implement those as well! Much appreciated.
81 |
82 | Query:
83 | - Implementing **JOIN** clause for Querying
84 | - Handling invalid/duplicate names in Query input
85 | - Row management in the Query table
86 |
87 | Custom Functions
88 | - Reading and writing from the text editor to functions.ts file
89 | - Creating custom functions in Typescript
90 |
91 | Other:
92 | - React Hooks testing
93 | - Containerization with Docker
94 | -
95 | ### Contributors
96 | >Kevin Co - Logo Designer [@itskevinco](https://www.instagram.com/itskevinco/)
97 |
98 | ## License
99 | This project is available under the MIT License.
100 |
--------------------------------------------------------------------------------
/__tests__/App.test.tsx:
--------------------------------------------------------------------------------
1 | /* global describe it*/
2 | import App from "../src/taskpane/components/App";
3 | import React from "react";
4 | import { render, fireEvent } from "@testing-library/react";
5 | // import { build, fake } from "test-data-bot";
6 | import "@testing-library/jest-dom/extend-expect";
7 |
8 | describe("App.tsx has mounted", () => {
9 | it("App render", () => {
10 | const {} = render();
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/__tests__/IDE.test.tsx:
--------------------------------------------------------------------------------
1 | /* global describe it*/
2 | import IDE from "../src/taskpane/components/IDE";
3 | import React from "react";
4 | import { render, fireEvent } from "@testing-library/react";
5 | // import { build, fake } from "test-data-bot";
6 | import "@testing-library/jest-dom/extend-expect";
7 |
8 | describe("IDE.tsx has mounted", () => {
9 | it("render", () => {
10 | const {} = render();
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/__tests__/Query.test.tsx:
--------------------------------------------------------------------------------
1 | /* global describe it*/
2 | import Query from "../src/taskpane/components/Query";
3 | import React from "react";
4 | import { render, fireEvent } from "@testing-library/react";
5 | // import { build, fake } from "test-data-bot";
6 | import "@testing-library/jest-dom/extend-expect";
7 |
8 | describe("Query.tsx has mounted", () => {
9 | it("render", () => {
10 | const {} = render();
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/__tests__/QueryTable.test.tsx:
--------------------------------------------------------------------------------
1 | /* global describe it*/
2 | import QueryTable from "../src/taskpane/components/query/QueryTable";
3 | import React from "react";
4 | import { render, fireEvent } from "@testing-library/react";
5 | // import { build, fake } from "test-data-bot";
6 | import "@testing-library/jest-dom/extend-expect";
7 |
8 | describe("QueryTable did mount", () => {
9 | it("renders", () => {
10 | const {} = render();
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/__tests__/Querybox.test.tsx:
--------------------------------------------------------------------------------
1 | /* global describe it*/
2 | import Querybox from "../src/taskpane/components/query/Querybox";
3 | import React from "react";
4 | import { render, fireEvent } from "@testing-library/react";
5 | // import { build, fake } from "test-data-bot";
6 | import "@testing-library/jest-dom/extend-expect";
7 |
8 | // describe("Querybox.tsx mounts", () => {
9 | // it("component did mount", () => {
10 | // const div = document.createElement("div");
11 | // ReactDOM.render(
12 | // {
14 | // return null;
15 | // }}
16 | // />,
17 | // div
18 | // );
19 | // });
20 | // });
21 |
22 | describe("Querybox.tsx mounts", () => {
23 | it("component renders", () => {
24 | const {} = render(
25 | {
27 | return null;
28 | }}
29 | />
30 | );
31 | });
32 | });
33 |
--------------------------------------------------------------------------------
/assets/boost-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/Boost/2d6ffdad1592a7ac2d43408db071030d6c34e218/assets/boost-banner.png
--------------------------------------------------------------------------------
/assets/boost-icon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/Boost/2d6ffdad1592a7ac2d43408db071030d6c34e218/assets/boost-icon-128.png
--------------------------------------------------------------------------------
/assets/boost-icon-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/Boost/2d6ffdad1592a7ac2d43408db071030d6c34e218/assets/boost-icon-16.png
--------------------------------------------------------------------------------
/assets/boost-icon-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/Boost/2d6ffdad1592a7ac2d43408db071030d6c34e218/assets/boost-icon-32.png
--------------------------------------------------------------------------------
/assets/boost-icon-80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/oslabs-beta/Boost/2d6ffdad1592a7ac2d43408db071030d6c34e218/assets/boost-icon-80.png
--------------------------------------------------------------------------------
/config/CSSStub.js:
--------------------------------------------------------------------------------
1 | /* global module */
2 | module.exports = {};
3 |
--------------------------------------------------------------------------------
/docs/excelFunction.js.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | JSDoc: Source: excelFunction.js
6 |
7 |
8 |
9 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
Source: excelFunction.js
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
/**
30 | * Get the active worksheet
31 | * @param {object} -
32 | * @return {object}
33 | */
34 | export const getSheet = (context) => {
35 | return context.workbook.worksheets.getActiveWorksheet();
36 | };
37 |
38 | /**
39 | *
40 | */
41 | export const funcName = async (context) => {
42 | await Excel.run(async (context) => {
43 | let sheet = excelFuncs.getSheet(context);
44 | sheet.load("name"); // getname of the active worksheet
45 |
46 | // sheet.getUsedRange().load() gives us the cells that are being used
47 | // const load = sheet.getUsedRange().getRow(2);
48 | const range = sheet.getUsedRange();
49 | range.load("address");
50 | range.load("values");
51 |
52 | // used to navigate you to the select range
53 | range.select();
54 |
55 | await context.sync();
56 | // console.log("test:", load);
57 | // console.log("test2:", range);
58 | // console.log(`The active worksheet is "${sheet.name}"`);
59 | });
60 | };
61 |
62 |
63 |