{"id":26387698,"url":"https://github.com/nithesh24/zeosheet","last_synced_at":"2026-05-18T06:06:50.704Z","repository":{"id":280300095,"uuid":"940053916","full_name":"Nithesh24/ZeoSheet","owner":"Nithesh24","description":"ZeoTap assesment 1.","archived":false,"fork":false,"pushed_at":"2025-03-02T16:24:12.000Z","size":4613,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-25T06:43:02.320Z","etag":null,"topics":["handsontable","react","reactjs","sheets"],"latest_commit_sha":null,"homepage":"https://zeosheet-nithesh-kumar.netlify.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nithesh24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-27T14:40:44.000Z","updated_at":"2025-03-02T16:24:15.000Z","dependencies_parsed_at":"2025-03-02T16:20:42.145Z","dependency_job_id":"a28159f8-f20a-43ea-8324-038e09567a89","html_url":"https://github.com/Nithesh24/ZeoSheet","commit_stats":null,"previous_names":["nithesh24/zeosheet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nithesh24/ZeoSheet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nithesh24%2FZeoSheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nithesh24%2FZeoSheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nithesh24%2FZeoSheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nithesh24%2FZeoSheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nithesh24","download_url":"https://codeload.github.com/Nithesh24/ZeoSheet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nithesh24%2FZeoSheet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278903012,"owners_count":26065784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["handsontable","react","reactjs","sheets"],"created_at":"2025-03-17T08:36:24.264Z","updated_at":"2025-10-08T06:36:16.358Z","avatar_url":"https://github.com/Nithesh24.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZeoSheet\n\nZeoSheet is a Google Sheets-like web application built with **React.js**, **Handsontable**, **HTML**, **CSS**, and **JavaScript**, offering a user-friendly interface for spreadsheet management.\n\n## Features\n\n- **Dynamic Spreadsheet UI** using Handsontable\n- **Formula Support** for calculations\n- **Undo/Redo Functionality** for seamless editing\n- **User-friendly Interface** with essential spreadsheet tools\n- **Download Option** to export the working spreadsheet as an Excel file\n\n## Tech Stack\n\n- **Frontend:** React.js, Handsontable, HTML, CSS, JavaScript\n- **Deployment:** Netlify\n\n## How to Use\n\n- **Undo/Redo:** Allows users to revert or redo changes effortlessly.\n- **Cell Formatting:** Select cells and apply formatting such as **bold, italic, highlight, font size changes, lowercase transformation**, etc.\n- **Mathematical Formulas:** Click on the cell where you want to apply a formula and enter it just like in Excel, e.g., `=SUM(A1:C2)`.\n- **Applying Formulas to Other Cells:** After entering a formula, select the applied cell and **drag the fill handle** to apply it to other cells automatically.\n- **Download as Excel:** Click on the download option to export and save your spreadsheet as an Excel file.\n\n## Available Mathematical Functions\n\n### Basic Arithmetic Formulas\n- `=A1+B1` → Adds values in A1 and B1\n- `=A1-B1` → Subtracts B1 from A1\n- `=A1*B1` → Multiplies A1 and B1\n- `=A1/B1` → Divides A1 by B1\n- `=A1^B1` → Raises A1 to the power of B1\n\n### Aggregation Functions\n- `=SUM(A1:C3)` → Sum of values in the range A1 to C3\n- `=AVERAGE(A1:C3)` → Average of values in the range A1 to C3\n- `=COUNT(A1:C3)` → Counts the number of numerical values in the range\n- `=COUNTA(A1:C3)` → Counts the number of non-empty cells\n- `=MAX(A1:C3)` → Returns the maximum value in the range\n- `=MIN(A1:C3)` → Returns the minimum value in the range\n\n### Logical Functions\n- `=IF(A1\u003e10, \"High\", \"Low\")` → Returns \"High\" if A1 is greater than 10, otherwise \"Low\"\n- `=IFERROR(A1/B1, \"Error\")` → Returns \"Error\" if division fails\n- `=AND(A1\u003e5, B1\u003c10)` → Returns TRUE if both conditions are met\n- `=OR(A1\u003e5, B1\u003c10)` → Returns TRUE if at least one condition is met\n- `=NOT(A1=10)` → Returns TRUE if A1 is NOT 10\n\n### Text Functions\n- `=CONCATENATE(A1, B1)` → Joins A1 and B1 (Use `=A1\u0026B1` as a shorthand)\n- `=LEFT(A1, 3)` → Extracts the first 3 characters from A1\n- `=RIGHT(A1, 3)` → Extracts the last 3 characters from A1\n- `=MID(A1, 2, 3)` → Extracts 3 characters from A1 starting at position 2\n- `=LEN(A1)` → Returns the length of the text in A1\n- `=LOWER(A1)` → Converts A1 to lowercase\n- `=UPPER(A1)` → Converts A1 to uppercase\n- `=PROPER(A1)` → Capitalizes the first letter of each word in A1\n- `=TRIM(A1)` → Removes extra spaces from A1\n\n### Date \u0026 Time Functions\n- `=TODAY()` → Returns the current date\n- `=NOW()` → Returns the current date and time\n- `=YEAR(A1)` → Extracts the year from a date\n- `=MONTH(A1)` → Extracts the month from a date\n- `=DAY(A1)` → Extracts the day from a date\n- `=HOUR(A1)` → Extracts the hour from a time\n- `=MINUTE(A1)` → Extracts the minutes from a time\n- `=SECOND(A1)` → Extracts the seconds from a time\n- `=DATEDIF(A1, B1, \"Y\")` → Calculates years between two dates\n- `=WEEKDAY(A1)` → Returns the day of the week as a number (1 = Sunday)\n\n### Lookup \u0026 Reference Functions\n- `=VLOOKUP(10, A1:B10, 2, FALSE)` → Looks for 10 in column A and returns the corresponding value from column B\n- `=HLOOKUP(10, A1:J2, 2, FALSE)` → Looks for 10 in row 1 and returns the corresponding value from row 2\n- `=INDEX(A1:C3, 2, 3)` → Returns the value at row 2, column 3\n- `=MATCH(20, A1:A10, 0)` → Returns the position of 20 in column A\n- `=OFFSET(A1, 2, 1)` → Returns the value from 2 rows down and 1 column to the right from A1\n\n### Financial Functions\n- `=PMT(0.05/12, 60, -20000)` → Calculates the monthly payment for a loan\n- `=FV(0.05/12, 60, -200, -5000)` → Calculates future value of an investment\n\n### Trigonometric \u0026 Mathematical Functions\n- `=SIN(A1)`, `=COS(A1)`, `=TAN(A1)` → Returns sine, cosine, and tangent of A1 (in radians)\n- `=PI()` → Returns the value of π\n- `=ROUND(A1, 2)` → Rounds A1 to 2 decimal places\n- `=ROUNDUP(A1, 2)` → Rounds A1 up to 2 decimal places\n- `=ROUNDDOWN(A1, 2)` → Rounds A1 down to 2 decimal places\n- `=MOD(A1, B1)` → Returns remainder of A1 divided by B1\n- `=ABS(A1)` → Returns absolute value of A1\n- `=SQRT(A1)` → Returns the square root of A1\n- `=LOG(A1)` → Returns the natural logarithm (base e) of A1\n- `=LOG10(A1)` → Returns logarithm base 10 of A1\n- `=EXP(A1)` → Returns e^A1\n\n### Random Functions\n- `=RAND()` → Generates a random number between 0 and 1\n- `=RANDBETWEEN(1, 100)` → Generates a random integer between 1 and 100\n\n## Deployment\n\nThe application is deployed on **Netlify**. You can access it [here](https://zeosheet-nithesh-kumar.netlify.app/).\n\n## Screenshots\n\nAdding formula to analyze data and determine in loss or profit\n![image](https://github.com/user-attachments/assets/e6412688-b4cb-4e4f-b6c8-fade3a725a23)\n\nUsing drag feature to implement the formula used in current cell in the selected cells\n![image](https://github.com/user-attachments/assets/7f52269f-ab7f-4969-b960-25489c19458d)\n\nUsing formatting feature to format data\n![image](https://github.com/user-attachments/assets/0f15326c-286b-4059-857b-7adf2d762577)\n\n## License\n\nThis project is licensed under the **MIT License**.\n\n## Contact\n\nFor any queries, reach out via:\n- **Email**: nithesh487@gmail.com\n- **LinkedIn**: [@nitheskumar24](https://linkedin.com/in/nitheskumar24)\n\n---\n\n**Happy Hacking!** 🚀\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnithesh24%2Fzeosheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnithesh24%2Fzeosheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnithesh24%2Fzeosheet/lists"}