{"id":13994588,"url":"https://github.com/x2bool/xlite","last_synced_at":"2025-05-14T21:04:06.711Z","repository":{"id":39816052,"uuid":"507206677","full_name":"x2bool/xlite","owner":"x2bool","description":"Query Excel spredsheets (.xlsx, .xls, .ods) using SQLite","archived":false,"fork":false,"pushed_at":"2025-03-09T18:33:20.000Z","size":56,"stargazers_count":1275,"open_issues_count":3,"forks_count":50,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-02T08:01:39.410Z","etag":null,"topics":["excel","ods","sql","sqlite","sqlite-extension","sqlite-virtual-table","sqlite3","xls","xlsx"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/x2bool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-06-25T03:48:57.000Z","updated_at":"2025-03-26T23:00:53.000Z","dependencies_parsed_at":"2024-01-18T05:11:19.901Z","dependency_job_id":"aaa0752e-7f5c-4a8e-9918-3ff92f73a4a1","html_url":"https://github.com/x2bool/xlite","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x2bool%2Fxlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x2bool%2Fxlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x2bool%2Fxlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/x2bool%2Fxlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/x2bool","download_url":"https://codeload.github.com/x2bool/xlite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248018032,"owners_count":21034045,"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","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":["excel","ods","sql","sqlite","sqlite-extension","sqlite-virtual-table","sqlite3","xls","xlsx"],"created_at":"2024-08-09T14:02:57.951Z","updated_at":"2025-04-09T10:00:17.516Z","avatar_url":"https://github.com/x2bool.png","language":"Rust","readme":"# XLite - query Excel (.xlsx, .xls) and Open Document spreadsheets (.ods) as SQLite virtual tables\n\nXLite is a SQLite extension written in Rust. The main purpose of this library is to allow working with spreadsheets from SQLite exposing them as [virtual tables](https://sqlite.org/vtab.html).\n\n### Download\n\n![build](https://github.com/x2bool/xlite/actions/workflows/build.yml/badge.svg)\n\nThe following prebuilt libraries are available for [download](https://github.com/x2bool/xlite/releases):\n\n![release](https://img.shields.io/github/v/release/x2bool/xlite?display_name=release)\n\n|  | Linux | Windows | MacOS |\n|--|--|--|--|\n| x86 | [libxlite.so.tar.gz](https://github.com/x2bool/xlite/releases/latest/download/libxlite-linux-x86.tar.gz)️ | [xlite.dll.zip](https://github.com/x2bool/xlite/releases/latest/download/xlite-windows-x86.zip)️ | N/A |\n| x86-64 | [libxlite.so.tar.gz](https://github.com/x2bool/xlite/releases/latest/download/libxlite-linux-x64.tar.gz)️ | [xlite.dll.zip](https://github.com/x2bool/xlite/releases/latest/download/xlite-windows-x64.zip)️ | [libxlite.dylib.zip](https://github.com/x2bool/xlite/releases/latest/download/libxlite-macos-x64.zip) |\n| AArch64 (ARM64) | [libxlite.so.tar.gz](https://github.com/x2bool/xlite/releases/latest/download/libxlite-linux-aarch64.tar.gz)️ |   | [libxlite.dylib.zip](https://github.com/x2bool/xlite/releases/latest/download/libxlite-macos-aarch64.zip) |\n\nThis step will produce `libxlite.so` or `libxlite.dylib` or `xlite.dll` depending on your operation system.\n\n### How to use\n\nAssuming you have sqlite3 command line tools installed, `libxlite` library in your current directory and some spreadsheet file on your disk you can load extension:\n\n```bash\nsqlite3 # will open SQLite CLI\n\u003e .load libxlite # or \"xlite\" on Windows\n```\n\nThis will load `xlite` module, now it can be used to create virtual tables.\n\nCreating a virtual table (this sample uses the .xslx file from the tests directory):\n\n```sql\nCREATE VIRTUAL TABLE test_data USING xlite (\n    FILENAME './tests/abcdef_colnames.xlsx',\n    WORKSHEET 'Sheet1',\n    RANGE 'A2:F', -- optional\n    COLNAMES '1' -- optional\n);\n```\n\nExplanation: this statement will create a virtual table based on the .xlsx file and the worksheet named \"Sheet1\".\n\nOptional `RANGE` parameter is used here to skip the first row in the table. `A2:F` meaning is `use columns from A to F but start from 2nd row`.\n\nQuerying:\n\n```sql\nSELECT A, B, C, D, E, F FROM test_data;\n```\n\nColumns are named according to their name (index) in the spreadsheet, unless an optional `COLNAMES` argument is provided - in this case column names will be taken from the row of spreadsheet specified by this option.\n\n```sql\nSELECT COUNT(*), D FROM test_data GROUP BY D ORDER BY COUNT(*);\n```\n\nAll operations supported by SQLite can be executed on spreadsheets as long as it is supported by the virtual table mechanism.\n\nDropping:\n\n```sql\nDROP TABLE test_data;\n```\n\nThis statement will drop only the virtual table. Physical file won't be deleted.\n\n### How to build\n\n```bash\ncargo build --release\n```\n\n### Limitations\n\n`INSERT`, `UPDATE` and `DELETE` statements are not supported right now.\n\n### About\n\nThis project is experimental and it is developed and maintained in my free time as a hobby project.\n","funding_links":[],"categories":["Rust","Extensions","sqlite"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx2bool%2Fxlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fx2bool%2Fxlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fx2bool%2Fxlite/lists"}