{"id":21053243,"url":"https://github.com/lsevero/clj-xlsxio","last_synced_at":"2025-09-23T22:10:39.488Z","repository":{"id":62435302,"uuid":"216720509","full_name":"lsevero/clj-xlsxio","owner":"lsevero","description":"XLSXIO bidings por clojure","archived":false,"fork":false,"pushed_at":"2021-09-17T14:21:56.000Z","size":781,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-28T13:41:39.310Z","etag":null,"topics":["apache-poi","clojure","jna","xlsx","xlsxio"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lsevero.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-22T04:03:30.000Z","updated_at":"2024-06-07T19:37:06.000Z","dependencies_parsed_at":"2022-11-01T21:15:54.588Z","dependency_job_id":null,"html_url":"https://github.com/lsevero/clj-xlsxio","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsevero%2Fclj-xlsxio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsevero%2Fclj-xlsxio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsevero%2Fclj-xlsxio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsevero%2Fclj-xlsxio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lsevero","download_url":"https://codeload.github.com/lsevero/clj-xlsxio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225384411,"owners_count":17465879,"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":["apache-poi","clojure","jna","xlsx","xlsxio"],"created_at":"2024-11-19T16:05:18.090Z","updated_at":"2025-09-23T22:10:34.446Z","avatar_url":"https://github.com/lsevero.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# clj-xlsxio\n\n[xlsxio](https://github.com/brechtsanders/xlsxio) bidings for clojure using JNA\n\n[![Clojars Project](https://img.shields.io/clojars/v/clj-xlsxio.svg)](https://clojars.org/clj-xlsxio)\n\n# Why?\n\nJava (and therefore clojure) has lots of libraries to deal with xlsx files, but all of them depends on Apache POI one way or another.\nApache POI is a HUGE library, it takes a lot of memory and it is too smart, in a bad way.\nApache POI gets in the user way a lot of times, it tries to behave like exactly like Excel, even if the user don't want to.\nParsing dates and numbers with Apache POI is MUCH HARDER than it should be, it reads the spreadsheet locale and will format everything\nto behave like Excel on that region, numbers a lot of times are converted to scientific notation, it is hard to know where Apache POI will give dates on MM/dd/yyyy, dd/MM/yyyy, d/M/yy, M/d/yy and etc.\nIt is always a pain in the ass waste 90% of the time with this types of things instead of working on real useful code.\n\nThis library is very dumb, which sometimes that is the best.\nEverything will be returned as the exact string that is written on the xlsx.\nNumbers will be returned as strings and will never be converted to a different formatting and dates will be\nreturned in Excel timestamp (which can be easily converted to UNIX timestamp and therefore any date format you want).\n\nThis library was built using [JNA](https://github.com/java-native-access/jna) and the\nexcellent [xlsxio](https://github.com/brechtsanders/xlsxio) C library.\nThe xlsxio is being deployed with is dependencies on this library .jar file.\nThe xlsxio library depends on zlib, expat and minizip, if you are having problems loading these libraries when you require clj-xlsxio,\nconsider installing them on your system using your favorite package manager.\n\n## Usage\n\nThis library will try to be close as possible to the data.csv interface.\n\n```clojure\n(require '[clj-xlsxio.read :refer :all])\n\n(read-xlsx \"/path/to/your.xlsx\")\n;=\u003e ([\"row0-cell0\" \"row0-cell1\"] \n;     [\"row1-cell0\" \"row1-cell1\"]\n;     ...)\n```\n\n`read-xlsx` will return a lazy-seq of rows.\n\nThere is also the low level interface that is exactly like the xlsxio C interface.\nAlso check the examples folder for more info on how to use the library.\n\n# Supported architectures\nThis library depends on native shared objects that needs to be compiled for each OS and each architecture.\nCurrently this library only support:\n* linux-x86-64\n* linux-aarch64\n\n## Unstable architectures\nI have been testing clj-xlsxio in some different architectures and some of them were completely unstable\nand unreliable for various reasons like different endianness which I honestly don't know how to fix.\nSo I've decided to remove than from the master branch and the releases on clojars, but they are available\nin the experimental branch. The unstable architectures are:\n* linux-x86\n* linux-arm\n\n# TODO\n* add the shared objects files for other OS and others architectures.\n\n## License\n\nCopyright © 2019 FIXME\n\nThis program and the accompanying materials are made available under the\nterms of the Eclipse Public License 2.0 which is available at\nhttp://www.eclipse.org/legal/epl-2.0.\n\nThis Source Code may also be made available under the following Secondary\nLicenses when the conditions for such availability set forth in the Eclipse\nPublic License, v. 2.0 are satisfied: GNU General Public License as published by\nthe Free Software Foundation, either version 2 of the License, or (at your\noption) any later version, with the GNU Classpath Exception which is available\nat https://www.gnu.org/software/classpath/license.html.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsevero%2Fclj-xlsxio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsevero%2Fclj-xlsxio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsevero%2Fclj-xlsxio/lists"}