All Projects → pbnjay → grate

pbnjay / grate

Licence: MIT License
A Go native tabular data extraction package. Currently supports .xls, .xlsx, .csv, .tsv formats.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to grate

dbd
dbd is a database prototyping tool that enables data analysts and engineers to quickly load and transform data in SQL databases.
Stars: ✭ 30 (-69.39%)
Mutual labels:  etl, xlsx, xls
Sylvan.Data.Excel
The fastest .NET library for reading Excel data files.
Stars: ✭ 65 (-33.67%)
Mutual labels:  xlsx, xls
xls2json
Read in Excel file (.xls, .xlsx, .xlsm) and output JSON.
Stars: ✭ 39 (-60.2%)
Mutual labels:  xlsx, xls
xls-cli
A simple cli tool to explore xls files
Stars: ✭ 25 (-74.49%)
Mutual labels:  xlsx, xls
Excelmapper
Map POCO objects to Excel files
Stars: ✭ 166 (+69.39%)
Mutual labels:  xlsx, xls
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+2282.65%)
Mutual labels:  xlsx, xls
xls2db
Export table data from excel to mysql database, implemented with python.
Stars: ✭ 33 (-66.33%)
Mutual labels:  xlsx, xls
Table2excel.js
Export html table to excel file in browser
Stars: ✭ 118 (+20.41%)
Mutual labels:  xlsx, xls
pikaz-excel-js
一个纯js版本的excel导入导出插件
Stars: ✭ 145 (+47.96%)
Mutual labels:  xlsx, xls
eec
A fast and lower memory excel write/read tool.一个非POI底层,支持流式处理的高效且超低内存的Excel读写工具
Stars: ✭ 93 (-5.1%)
Mutual labels:  xlsx, xls
spreadsheet
Yii2 extension for export to Excel
Stars: ✭ 79 (-19.39%)
Mutual labels:  xlsx, xls
Xresloader
跨平台Excel导表工具(Excel=>protobuf/msgpack/lua/javascript/json/xml)
Stars: ✭ 161 (+64.29%)
Mutual labels:  xlsx, xls
spark-hadoopoffice-ds
A Spark datasource for the HadoopOffice library
Stars: ✭ 36 (-63.27%)
Mutual labels:  xlsx, xls
workbook
simple framework for containing spreadsheet like data
Stars: ✭ 13 (-86.73%)
Mutual labels:  xlsx, xls
Test files
📚 SheetJS Test Files (XLS/XLSX/XLSB and other spreadsheet formats)
Stars: ✭ 150 (+53.06%)
Mutual labels:  xlsx, xls
laravel-xlswriter
an excel export/import tool for laravel based on php-xlswriter
Stars: ✭ 54 (-44.9%)
Mutual labels:  xlsx, xls
Android Gradle Localization Plugin
Gradle plugin for generating localized string resources
Stars: ✭ 100 (+2.04%)
Mutual labels:  xlsx, xls
Phpspreadsheet
A pure PHP library for reading and writing spreadsheet files
Stars: ✭ 10,627 (+10743.88%)
Mutual labels:  xlsx, xls
xltpl
A python module to generate xls/x files from a xls/x template.
Stars: ✭ 46 (-53.06%)
Mutual labels:  xlsx, xls
tabular-stream
Detects tabular data (spreadsheets, dsv or json, 20+ different formats) and emits normalized objects.
Stars: ✭ 34 (-65.31%)
Mutual labels:  xlsx, xls

grate

A Go native tabular data extraction package. Currently supports .xls, .xlsx, .csv, .tsv formats.

Why?

Grate focuses on speed and stability first, and makes no attempt to parse charts, figures, or other content types that may be present embedded within the input files. It tries to perform as few allocations as possible and errs on the side of caution.

There are certainly still some bugs and edge cases, but we have run it successfully on a set of 400k .xls and .xlsx files to catch many bugs and error conditions. Please file an issue with any feedback and additional problem files.

Usage

Grate provides a simple standard interface for all supported filetypes, allowing access to both named worksheets in spreadsheets and single tables in plaintext formats.

package main

import (
    "fmt"
    "os"
    "strings"

    "github.com/pbnjay/grate"
    _ "github.com/pbnjay/grate/simple" // tsv and csv support
    _ "github.com/pbnjay/grate/xls"
    _ "github.com/pbnjay/grate/xlsx"
)

func main() {
    wb, _ := grate.Open(os.Args[1])  // open the file
    sheets, _ := wb.List()           // list available sheets
    for _, s := range sheets {       // enumerate each sheet name
        sheet, _ := wb.Get(s)        // open the sheet
        for sheet.Next() {           // enumerate each row of data
            row := sheet.Strings()   // get the row's content as []string
            fmt.Println(strings.Join(row, "\t"))
        }
    }
    wb.Close()
}

License

All source code is licensed under the MIT License.

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].