diff options
author | Sebastian Willing <sewi@cpan.org> | 2018-06-11 17:25:28 +0200 |
---|---|---|
committer | Sebastian Willing <sewi@cpan.org> | 2018-06-11 17:25:28 +0200 |
commit | ccdefb3b16c31b911f4f26b901939c012b53d712 (patch) | |
tree | ed5afe049d35a86fd14e995f363105cb11cece54 /samples | |
parent | 9e463b4614348b3ddc04b1fedd5d662845ce0fb9 (diff) |
Documentation:
* Add information about return value of NewSheet()
* Minor documentation language fixes
Samples:
* Added sample go file for dumping a XLSX file to the console
Diffstat (limited to 'samples')
-rw-r--r-- | samples/dumpXLSX.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/samples/dumpXLSX.go b/samples/dumpXLSX.go new file mode 100644 index 0000000..853a337 --- /dev/null +++ b/samples/dumpXLSX.go @@ -0,0 +1,45 @@ +package main + +import ( + "fmt" + "os" + + "github.com/360EntSecGroup-Skylar/excelize" +) + +func main() { + // Exit on missing filename + if len(os.Args) < 2 || os.Args[1] == "" { + fmt.Println("Syntax: dumpXLSX <filename.xlsx>") + os.Exit(1) + } + + // Open file and panic on error + fmt.Println("Reading ", os.Args[1]) + xlsx, err := excelize.OpenFile(os.Args[1]) + if err != nil { + panic(err) + } + + // Read all sheets in map + for i, sheet := range xlsx.GetSheetMap() { + //Output sheet header + fmt.Printf("----- %d. %s -----\n", i, sheet) + + // Get rows + rows := xlsx.GetRows(sheet) + // Create a row number prefix pattern long enough to fit all row numbers + prefixPattern := fmt.Sprintf("%% %dd ", len(fmt.Sprintf("%d", len(rows)))) + + // Walk through rows + for j, row := range rows { + // Output row number as prefix + fmt.Printf(prefixPattern, j) + // Output row content + for _, cell := range row { + fmt.Print(cell, "\t") + } + fmt.Println() + } + } +} |