All Projects → plandem → Xlsx

plandem / Xlsx

Licence: mit
Fast and reliable way to work with Microsoft Excel™ [xlsx] files in Golang

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Xlsx

Xlnt
📊 Cross-platform user-friendly xlsx library for C++11+
Stars: ✭ 876 (+563.64%)
Mutual labels:  excel, spreadsheet, microsoft, xlsx
Excelize
Golang library for reading and writing Microsoft Excel™ (XLSX) files.
Stars: ✭ 10,286 (+7692.42%)
Mutual labels:  excel, microsoft, xlsx, spreadsheet
Unioffice
Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents
Stars: ✭ 3,111 (+2256.82%)
Mutual labels:  excel, spreadsheet, xlsx
J
❌ Multi-format spreadsheet CLI (now merged in http://github.com/sheetjs/js-xlsx )
Stars: ✭ 343 (+159.85%)
Mutual labels:  excel, spreadsheet, xlsx
Readxl
Read excel files (.xls and .xlsx) into R 🖇
Stars: ✭ 585 (+343.18%)
Mutual labels:  excel, spreadsheet, xlsx
XToolset
Typed import, and export XLSX spreadsheet to JS / TS. Template-based create, render, and export data into excel files.
Stars: ✭ 110 (-16.67%)
Mutual labels:  excel, xlsx, spreadsheet
excel validator
Python script to validate data in Excel files
Stars: ✭ 14 (-89.39%)
Mutual labels:  excel, xlsx, spreadsheet
Reogrid
Fast and powerful .NET spreadsheet component, support data format, freeze, outline, formula calculation, chart, script execution and etc. Compatible with Excel 2007 (.xlsx) format and working on .NET 3.5 (or client profile), WPF and Android platform.
Stars: ✭ 532 (+303.03%)
Mutual labels:  excel, spreadsheet, xlsx
umya-spreadsheet
A pure rust library for reading and writing spreadsheet files
Stars: ✭ 79 (-40.15%)
Mutual labels:  excel, xlsx, spreadsheet
Luckysheet
Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
Stars: ✭ 9,772 (+7303.03%)
Mutual labels:  excel, spreadsheet, xlsx
Phpspreadsheet
A pure PHP library for reading and writing spreadsheet files
Stars: ✭ 10,627 (+7950.76%)
Mutual labels:  excel, spreadsheet, xlsx
fxl.js
ƛ fxl.js is a data-oriented JavaScript spreadsheet library. It provides a way to build spreadsheets using modular, lego-like blocks.
Stars: ✭ 27 (-79.55%)
Mutual labels:  excel, xlsx, spreadsheet
sheet2dict
Simple XLSX and CSV to dictionary converter
Stars: ✭ 206 (+56.06%)
Mutual labels:  excel, xlsx, spreadsheet
ExcelFormulaBeautifier
Excel Formula Beautifer,make Excel formulas more easy to read,Excel公式格式化/美化,将Excel公式转为易读的排版
Stars: ✭ 27 (-79.55%)
Mutual labels:  excel, xlsx, spreadsheet
BulkPDF
BulkPDF is a free and easy to use open source software, which allows to automatically fill an existing PDF form with differen values. Only a spreadsheet (Microsoft Excel 2007/2010/2013, LibreOffice or OpenOffice Calc) with the desired values is required.
Stars: ✭ 94 (-28.79%)
Mutual labels:  microsoft, excel, spreadsheet
Docjure
Read and write Office documents from Clojure
Stars: ✭ 510 (+286.36%)
Mutual labels:  excel, spreadsheet, xlsx
xlsx reader
A production-ready XLSX file reader for Elixir.
Stars: ✭ 46 (-65.15%)
Mutual labels:  excel, xlsx, spreadsheet
spreadsheet
Yii2 extension for export to Excel
Stars: ✭ 79 (-40.15%)
Mutual labels:  excel, xlsx, spreadsheet
Sheetjs
📗 SheetJS Community Edition -- Spreadsheet Data Toolkit
Stars: ✭ 28,479 (+21475%)
Mutual labels:  excel, spreadsheet, xlsx
Desktopeditors
An office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents
Stars: ✭ 1,008 (+663.64%)
Mutual labels:  excel, spreadsheet, xlsx

Xlsx2Go

Build Status Code Coverage Go Report Card GoDoc License FOSSA Status Donate

package main

import (
	"github.com/plandem/xlsx"
	"github.com/plandem/xlsx/format/conditional"
	"github.com/plandem/xlsx/format/conditional/rule"
	"github.com/plandem/xlsx/format/styles"
)

func main() {
	xl := xlsx.New()
	defer xl.Close()

	//create a new sheet
	sheet := xl.AddSheet("The first sheet")

	//access by ref
	cell := sheet.CellByRef("A2")

	//set value
	cell.SetValue("Easy Peasy")

	//set cool styles
	cell.SetStyles(styles.New(
		styles.Font.Bold,
		styles.Font.Color("#ff0000"),
		styles.Fill.Type(styles.PatternTypeSolid),
		styles.Fill.Color("#ffff00"),
		styles.Border.Color("#009000"),
		styles.Border.Type(styles.BorderStyleMedium),
	))

	//add comment
	cell.SetComment("No Comment!")

	//add hyperlink
	sheet.CellByRef("A4").SetValueWithHyperlink("wikipedia", "http://google.com")

	//merge cells
	sheet.RangeByRef("A6:A7").Merge()
	sheet.CellByRef("A6").SetValue("merged cell")

	//iterating
	for iRow := 1; iRow < 7; iRow++ {
		//access by indexes
		cell := sheet.Cell(1, iRow)
		cell.SetValue(iRow)
	}

	//add conditional formatting
	sheet.AddConditional(conditional.New(
		conditional.AddRule(
			rule.Value.Between(1, 3, styles.New(
				styles.Font.Bold,
				styles.Font.Color("#ff0000"),
			)),
		),
		conditional.AddRule(
			rule.IconSet.Type(rule.IconSetType3Arrows),
		),
	), "B2:B7")

	xl.SaveAs("./foo.xlsx")
}

Documentation

Roadmap

  • [ ] sheet: copy
  • [ ] sheet: custom filters
  • [x] sheet: streaming
  • [x] merged cells: merge/split for ranges, cols, rows
  • [x] hyperlinks: for cells, ranges, cols, rows
  • [x] range: copy
  • [x] row: copy
  • [x] col: copy
  • [x] cell: comments
  • [ ] cell: formulas
  • [x] cell: typed getter/setter for values
  • [x] other: conditional formatting
  • [x] other: rich texts
  • [ ] other: drawing
  • [ ] other: more optimization
  • [ ] other: more tests

Contribution

  • To prevent mess, sources have strict separation of markup and functionality. Document that describes OOXML is quite huge (about 6K pages), but the same time - functionality is not.
  • All markup resides inside of 'ml' folders, only marshal/unmarshal is allowed here, no any functionality.
  • Not every 'ml object' has related 'functional object' and vice versa.
  • If you want some functionality, then wrap 'ml object' and do what you want.

OOXML edition

XML is compliant with part 1 of the 5th edition of the ECMA-376 Standard for Office Open XML

License

FOSSA Status

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