Skip to content

remigijusj/xlsx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

xlsx nimble

Parse xlsx written in Nim.[WIP]

Docs

Docs in https://xflywind.github.io/xlsx/utils.html

Usage

Parse Excel without header.

import xlsx


let
  data = parseExcel("tests/test.xlsx")
  sheetName = "Sheet2"
echo data[sheetName]

output:

+----------+----------+----------+
|name      |grade     |age       |
|simon     |          |14        |
|tom       |87        |34        |
+----------+----------+----------+

Parse Excel with header.

import xlsx


let
  data = parseExcel("tests/test.xlsx", header = true)
  sheetName = "Sheet2"
echo data[sheetName]

output:

+----------+----------+----------+
|name      |grade     |age       |
+----------+----------+----------+
|simon     |          |14        |
|tom       |87        |34        |
+----------+----------+----------+

Parse Excel and skip header for data processing.

import xlsx


let
  data = parseExcel("tests/test.xlsx", skipHeaders = true)
  sheetName = "Sheet2"
echo data[sheetName]

output:

+----------+----------+----------+
|simon     |          |14        |
|tom       |87        |34        |
+----------+----------+----------+

Convert to Csv

import xlsx


let sheetName = "Sheet2"
let data = parseExcel("tests/test.xlsx")
data[sheetName].toCsv("tests/test.csv", sep = ",")

output:

name,grade,age
simon,,14
tom,87,34

Loop through rows:

import xlsx

let sheetName = "Sheet2"
let data = parseExcel("tests/test.xlsx")
let rows = data[sheetName].toSeq(false)
for row in rows:
  echo row

output:

@["name", "grade", "age"]
@["simon", "", "14"]
@["tom", "87", "34"]

Loop through rows and skip headers:

import xlsx

let sheetName = "Sheet2"
let data = parseExcel("tests/test.xlsx")
let rows = data[sheetName].toSeq(true)
for row in rows:
  echo "Name is: " & row[0]

output:

Name is: simon
Name is: tom

About

Parse excel written in Nim.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Nim 100.0%