summaryrefslogtreecommitdiff
path: root/samples
diff options
context:
space:
mode:
authorSebastian Willing <sewi@cpan.org>2018-06-11 17:25:28 +0200
committerSebastian Willing <sewi@cpan.org>2018-06-11 17:25:28 +0200
commitccdefb3b16c31b911f4f26b901939c012b53d712 (patch)
treeed5afe049d35a86fd14e995f363105cb11cece54 /samples
parent9e463b4614348b3ddc04b1fedd5d662845ce0fb9 (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.go45
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()
+ }
+ }
+}