Showing 8 changed files with 30 additions and 6 deletions
+2
CHANGELOG
... ...
@@ -29,3 +29,5 @@
29 29
             new option for -fontsize and -fontname
30 30
             new option for -headerlines
31 31
 
32
+2018-06-29 0.3.3
33
+            Bugfix for the -dateformat parameter (now works as intended)
+6 -5
README.md
... ...
@@ -11,11 +11,12 @@ license below), you may download the binary.
11 11
 
12 12
 Here are the SHA-256 checksums for the binaries:
13 13
 
14
-    86fab8cdb756d612391bdfca36641414424cb0cfe7c9c196329124976f3d3a8c  csv2xlsx_386.exe
15
-    91b94bb4c0acf91bcd2b3874d7ab7f96e204e6c0acb1d0119694bb740dedb6f4  csv2xlsx_amd64.exe
16
-    d1b3dc8bfa72647f4e92dbafede0ee729ccb488a7b2a400304634bf03439b744  csv2xlsx_linux_386
17
-    3e8661e7ef681c796452736e9004f19653ccf01c916f3c6a8b1e67d99f1e0ab5  csv2xlsx_linux_amd64
18
-    2933cdca783beca8fbcfccc2d396f4ec115c898a9f69680d6c64806ac84e1804  csv2xlsx_osx    
14
+    d65d1e3c81572e09d5807bd05da0c4444583cb0bb47004d1b18b98567cfbf113  csv2xlsx_386.exe
15
+    1d03d57ba4e274ab258a0ac7b8d4214b56cc7ade0ebb8b852aa2109bf000a4bd  csv2xlsx_amd64.exe
16
+    81587129a57c925ffbd8e152b4728ce1c147f05a556ecb9cd4551d738d070c4a  csv2xlsx_linux_386
17
+    102903ddc4d57cc971438772def756780500d8e32a5892f8adc1282e1cc56ea2  csv2xlsx_linux_amd64
18
+    98f0976b8c78c820965dbc0a9f869a911892f566ccdf16040d53d0a8ae0eccbd  csv2xlsx_osx
19
+
19 20
 
20 21
 ### Usage
21 22
 
+22 -1
csv2xlsx.go
... ...
@@ -39,6 +39,7 @@ var (
39 39
 	parmAbortOnError    bool
40 40
 	parmShowVersion     bool
41 41
 	parmAutoFormula     bool
42
+	parmIgnoreEmpty     bool
42 43
 	rowRangeParsed      map[int]string
43 44
 	colRangeParsed      map[int]string
44 45
 	workBook            *xlsx.File
... ...
@@ -160,6 +161,7 @@ func parseCommandLine() {
160 161
 	flag.BoolVar(&parmHelp, "h", false, "display usage information")
161 162
 	flag.BoolVar(&parmHelp, "?", false, "display usage information")
162 163
 	flag.BoolVar(&parmShowVersion, "version", false, "display version information")
164
+	flag.BoolVar(&parmIgnoreEmpty, "ignoreempty", true, "do not display warnings for empty cells")
163 165
 	flag.Parse()
164 166
 
165 167
 	t, err := strconv.Unquote(`"` + tmpStr + `"`)
... ...
@@ -174,6 +176,16 @@ func parseCommandLine() {
174 176
 		os.Exit(0)
175 177
 	}
176 178
 
179
+	r := strings.NewReplacer("YYYY", "2006",
180
+		"MM", "01",
181
+		"DD", "02",
182
+		"HH", "15",
183
+		"MI", "04",
184
+		"SS", "04")
185
+
186
+	// Replace all pairs.
187
+	parmDateFormat = r.Replace(parmDateFormat)
188
+
177 189
 	if parmHelp {
178 190
 		fmt.Printf("You are running version %s of %s\n\n", versionInfo, filepath.Base(os.Args[0]))
179 191
 		flag.Usage()
... ...
@@ -351,6 +363,15 @@ func writeCellContents(cell *xlsx.Cell, colString, colType string, rownum, colnu
351 363
 	if parmAutoFormula && []rune(colString)[0] == '=' {
352 364
 		colType = "formula"
353 365
 	}
366
+	// check for content to process and
367
+	// process the "Ignore Warnings On Empty Cells" flag
368
+	if colString == "" {
369
+		if !parmIgnoreEmpty {
370
+			fmt.Println(fmt.Sprintf("Warning: Cell (%d, %d) is empty.", rownum, colnum))
371
+		}
372
+		return true
373
+	}
374
+	// type dependent write
354 375
 	switch colType {
355 376
 	case "text":
356 377
 		cell.SetString(colString)
... ...
@@ -409,7 +430,7 @@ func processDataColumns(excelRow *xlsx.Row, rownum int, csvLine []string) {
409 430
 		if processColumn {
410 431
 			cell := excelRow.AddCell()
411 432
 			isHeader := (parmHeaderLines > 0) || !parmNoHeader
412
-			if isHeader && (rownum <= parmHeaderLines) {
433
+			if isHeader && (rownum < parmHeaderLines) {
413 434
 				// special case for the title row
414 435
 				cell.SetString(csvLine[colnum])
415 436
 				if colType == "number" || colType == "currency" {
BIN
csv2xlsx_386.exe
Binary file not shown.
BIN
csv2xlsx_amd64.exe
Binary file not shown.
BIN
csv2xlsx_linux_386
Binary file not shown.
BIN
csv2xlsx_linux_amd64
Binary file not shown.
BIN
csv2xlsx_osx
Binary file not shown.