summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfoxmeder <foxmeder@gmail.com>2020-04-01 15:38:37 +0800
committerxuri <xuri.me@gmail.com>2020-04-02 00:49:09 +0800
commit59f6af21a378fdde21422a92b79a7b03bba313d4 (patch)
treecef83a03404321062245033ea28bdf4996664448
parent736362694adff47424726a4e4e2569f8247e7fcf (diff)
fix reading wrong string from xml such as below
<sheetData><row r="1"><c r="A1" s="1" t="s"><v>0</v></c><c r="B1" s="1" t="s"></c></row></sheetData>
-rw-r--r--rows.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/rows.go b/rows.go
index 76dd0f0..d56c81c 100644
--- a/rows.go
+++ b/rows.go
@@ -301,10 +301,12 @@ func (f *File) sharedStringsReader() *xlsxSST {
func (xlsx *xlsxC) getValueFrom(f *File, d *xlsxSST) (string, error) {
switch xlsx.T {
case "s":
- xlsxSI := 0
- xlsxSI, _ = strconv.Atoi(xlsx.V)
- if len(d.SI) > xlsxSI {
- return f.formattedValue(xlsx.S, d.SI[xlsxSI].String()), nil
+ if xlsx.V != "" {
+ xlsxSI := 0
+ xlsxSI, _ = strconv.Atoi(xlsx.V)
+ if len(d.SI) > xlsxSI {
+ return f.formattedValue(xlsx.S, d.SI[xlsxSI].String()), nil
+ }
}
return f.formattedValue(xlsx.S, xlsx.V), nil
case "str":