All Projects → AlexKovalevych → exoffice

AlexKovalevych / exoffice

Licence: other
Library to parse common excel formats (xls, xlsx, csv)

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to exoffice

dbd
dbd is a database prototyping tool that enables data analysts and engineers to quickly load and transform data in SQL databases.
Stars: ✭ 30 (-3.23%)
Mutual labels:  csv, excel, xlsx, xls
Myexcel
MyExcel, a new way to operate excel!
Stars: ✭ 1,198 (+3764.52%)
Mutual labels:  csv, excel, xlsx, xls
eec
A fast and lower memory excel write/read tool.一个非POI底层,支持流式处理的高效且超低内存的Excel读写工具
Stars: ✭ 93 (+200%)
Mutual labels:  csv, excel, xlsx, xls
J
❌ Multi-format spreadsheet CLI (now merged in http://github.com/sheetjs/js-xlsx )
Stars: ✭ 343 (+1006.45%)
Mutual labels:  csv, excel, xlsx, xls
Sheetjs
📗 SheetJS Community Edition -- Spreadsheet Data Toolkit
Stars: ✭ 28,479 (+91767.74%)
Mutual labels:  csv, excel, xlsx, xls
Tableexport
The simple, easy-to-implement library to export HTML tables to xlsx, xls, csv, and txt files.
Stars: ✭ 781 (+2419.35%)
Mutual labels:  csv, excel, xlsx, xls
Rows
A common, beautiful interface to tabular data, no matter the format
Stars: ✭ 739 (+2283.87%)
Mutual labels:  csv, excel, xlsx, xls
Pyexcel
Single API for reading, manipulating and writing data in csv, ods, xls, xlsx and xlsm files
Stars: ✭ 902 (+2809.68%)
Mutual labels:  csv, excel, xlsx, xls
Tabtoy
高性能表格数据导出器
Stars: ✭ 1,302 (+4100%)
Mutual labels:  csv, excel, xlsx
spreadsheet
Yii2 extension for export to Excel
Stars: ✭ 79 (+154.84%)
Mutual labels:  excel, xlsx, xls
spark-hadoopoffice-ds
A Spark datasource for the HadoopOffice library
Stars: ✭ 36 (+16.13%)
Mutual labels:  excel, xlsx, xls
carsBase
База автомобилей с марками и моделями JSON, CSV, XLSX и MySQL
Stars: ✭ 49 (+58.06%)
Mutual labels:  csv, parse, xlsx
Dbwebapi
(Migrated from CodePlex) DbWebApi is a .Net library that implement an entirely generic Web API (RESTful) for HTTP clients to call database (Oracle & SQL Server) stored procedures or functions in a managed way out-of-the-box without any configuration or coding.
Stars: ✭ 84 (+170.97%)
Mutual labels:  csv, excel, xlsx
tabular-stream
Detects tabular data (spreadsheets, dsv or json, 20+ different formats) and emits normalized objects.
Stars: ✭ 34 (+9.68%)
Mutual labels:  csv, xlsx, xls
Android Gradle Localization Plugin
Gradle plugin for generating localized string resources
Stars: ✭ 100 (+222.58%)
Mutual labels:  csv, xlsx, xls
Fast Excel
🦉 Fast Excel import/export for Laravel
Stars: ✭ 1,183 (+3716.13%)
Mutual labels:  csv, excel, xlsx
Filecontextcore
FileContextCore is a "Database"-Provider for Entity Framework Core and adds the ability to store information in files instead of being limited to databases.
Stars: ✭ 91 (+193.55%)
Mutual labels:  csv, excel, xlsx
sheet2dict
Simple XLSX and CSV to dictionary converter
Stars: ✭ 206 (+564.52%)
Mutual labels:  csv, excel, xlsx
laravel-xlswriter
an excel export/import tool for laravel based on php-xlswriter
Stars: ✭ 54 (+74.19%)
Mutual labels:  excel, xlsx, xls
Sylvan.Data.Excel
The fastest .NET library for reading Excel data files.
Stars: ✭ 65 (+109.68%)
Mutual labels:  excel, xlsx, xls

Exoffice

Build Status

Exoffice is an Elixir library that parses common Excel formats: .xls (Excel 2003), .xlsx, (Excel 2007), .csv and saves parsed data into ets (excep .csv, which uses stream)

Installation

If available in Hex, the package can be installed as:

  1. Add exoffice to your list of dependencies in mix.exs:
```elixir
def deps do
  [{:exoffice, "~> 0.2.0"}]
end
```

Usage

Each parser has functions to parse, count rows, get rows and close file.

By default all sheets will be parsed:

  [{:ok, pid1, parser1}, {:ok, pid2, parser1}] = Exoffice.parse("./test/test_data/test.xls")
  [{:ok, pid3, parser2}, {:ok, pid4, parser2}] = Exoffice.parse("./test/test_data/test.xlsx")
  [{:ok, pid5, parser3}] = Exoffice.parse("./test/test_data/test.csv")

To parse a single sheet:

  {:ok, pid1, parser1} = Exoffice.parse("./test/test_data/test.xls", 1)
  {:ok, pid2, parser2} = Exoffice.parse("./test/test_data/test.xlsx", 1)
  {:ok, pid3, parser3} = Exoffice.parse("./test/test_data/test.csv", 1)

To count rows:

  Exoffice.count_rows(pid, parser)

To get rows:

  stream = Exoffice.get_rows(pid, parser)

Don't forget to close pid when you don't need data anymore:

  Exoffice.close(pid, parser)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].