|
|
@@ -84,77 +84,6 @@ func TestReadSharedStringsFromZipFile(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
|
|
|
-func TestReadRowsFromSheet(t *testing.T) {
|
|
|
- var sharedstringsXML = bytes.NewBufferString(`
|
|
|
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
|
-<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="4" uniqueCount="4">
|
|
|
- <si>
|
|
|
- <t>Foo</t>
|
|
|
- </si>
|
|
|
- <si>
|
|
|
- <t>Bar</t>
|
|
|
- </si>
|
|
|
- <si>
|
|
|
- <t xml:space="preserve">Baz </t>
|
|
|
- </si>
|
|
|
- <si>
|
|
|
- <t>Quuk</t>
|
|
|
- </si>
|
|
|
-</sst>`)
|
|
|
- var sheetxml = bytes.NewBufferString(`
|
|
|
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
|
-<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
|
|
- xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
|
|
|
- <dimension ref="A1:B2"/>
|
|
|
- <sheetViews>
|
|
|
- <sheetView tabSelected="1" workbookViewId="0">
|
|
|
- <selection activeCell="C2" sqref="C2"/>
|
|
|
- </sheetView>
|
|
|
- </sheetViews>
|
|
|
- <sheetFormatPr baseColWidth="10" defaultRowHeight="15"/>
|
|
|
- <sheetData>
|
|
|
- <row r="1" spans="1:2">
|
|
|
- <c r="A1" t="s">
|
|
|
- <v>0</v>
|
|
|
- </c>
|
|
|
- <c r="B1" t="s">
|
|
|
- <v>1</v>
|
|
|
- </c>
|
|
|
- </row>
|
|
|
- <row r="2" spans="1:2">
|
|
|
- <c r="A2" t="s">
|
|
|
- <v>2</v>
|
|
|
- </c>
|
|
|
- <c r="B2" t="s">
|
|
|
- <v>3</v>
|
|
|
- </c>
|
|
|
- </row>
|
|
|
- </sheetData>
|
|
|
- <pageMargins left="0.7" right="0.7"
|
|
|
- top="0.78740157499999996"
|
|
|
- bottom="0.78740157499999996"
|
|
|
- header="0.3"
|
|
|
- footer="0.3"/>
|
|
|
-</worksheet>`)
|
|
|
- worksheet := new(XLSXWorksheet)
|
|
|
- error := xml.Unmarshal(sheetxml, worksheet)
|
|
|
- if error != nil {
|
|
|
- t.Error(error.String())
|
|
|
- return
|
|
|
- }
|
|
|
- sst := new(XLSXSST)
|
|
|
- error = xml.Unmarshal(sharedstringsXML, sst)
|
|
|
- if error != nil {
|
|
|
- t.Error(error.String())
|
|
|
- return
|
|
|
- }
|
|
|
- reftable := MakeSharedStringRefTable(sst)
|
|
|
- rows := readRowsFromSheet(worksheet, reftable)
|
|
|
- if len(rows) != 2 {
|
|
|
- t.Error("Expected len(rows) == 2")
|
|
|
- }
|
|
|
-
|
|
|
-}
|
|
|
|
|
|
|
|
|
func TestLettersToNumeric(t *testing.T) {
|
|
|
@@ -287,6 +216,92 @@ func TestGetRangeFromString(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
|
|
|
+func TestReadRowsFromSheet(t *testing.T) {
|
|
|
+ var sharedstringsXML = bytes.NewBufferString(`
|
|
|
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
|
+<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="4" uniqueCount="4">
|
|
|
+ <si>
|
|
|
+ <t>Foo</t>
|
|
|
+ </si>
|
|
|
+ <si>
|
|
|
+ <t>Bar</t>
|
|
|
+ </si>
|
|
|
+ <si>
|
|
|
+ <t xml:space="preserve">Baz </t>
|
|
|
+ </si>
|
|
|
+ <si>
|
|
|
+ <t>Quuk</t>
|
|
|
+ </si>
|
|
|
+</sst>`)
|
|
|
+ var sheetxml = bytes.NewBufferString(`
|
|
|
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
|
|
+<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
|
|
|
+ xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
|
|
|
+ <dimension ref="A1:B2"/>
|
|
|
+ <sheetViews>
|
|
|
+ <sheetView tabSelected="1" workbookViewId="0">
|
|
|
+ <selection activeCell="C2" sqref="C2"/>
|
|
|
+ </sheetView>
|
|
|
+ </sheetViews>
|
|
|
+ <sheetFormatPr baseColWidth="10" defaultRowHeight="15"/>
|
|
|
+ <sheetData>
|
|
|
+ <row r="1" spans="1:2">
|
|
|
+ <c r="A1" t="s">
|
|
|
+ <v>0</v>
|
|
|
+ </c>
|
|
|
+ <c r="B1" t="s">
|
|
|
+ <v>1</v>
|
|
|
+ </c>
|
|
|
+ </row>
|
|
|
+ <row r="2" spans="1:2">
|
|
|
+ <c r="A2" t="s">
|
|
|
+ <v>2</v>
|
|
|
+ </c>
|
|
|
+ <c r="B2" t="s">
|
|
|
+ <v>3</v>
|
|
|
+ </c>
|
|
|
+ </row>
|
|
|
+ </sheetData>
|
|
|
+ <pageMargins left="0.7" right="0.7"
|
|
|
+ top="0.78740157499999996"
|
|
|
+ bottom="0.78740157499999996"
|
|
|
+ header="0.3"
|
|
|
+ footer="0.3"/>
|
|
|
+</worksheet>`)
|
|
|
+ worksheet := new(XLSXWorksheet)
|
|
|
+ error := xml.Unmarshal(sheetxml, worksheet)
|
|
|
+ if error != nil {
|
|
|
+ t.Error(error.String())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sst := new(XLSXSST)
|
|
|
+ error = xml.Unmarshal(sharedstringsXML, sst)
|
|
|
+ if error != nil {
|
|
|
+ t.Error(error.String())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ reftable := MakeSharedStringRefTable(sst)
|
|
|
+ rows := readRowsFromSheet(worksheet, reftable)
|
|
|
+ if len(rows) != 2 {
|
|
|
+ t.Error("Expected len(rows) == 2")
|
|
|
+ }
|
|
|
+ row := rows[0]
|
|
|
+ if len(row.Cells) != 2 {
|
|
|
+ t.Error("Expected len(row.Cells) == 2, got ", strconv.Itoa(len(row.Cells)))
|
|
|
+ }
|
|
|
+ cell1 := row.Cells[0]
|
|
|
+ if cell1.String() != "Foo" {
|
|
|
+ t.Error("Expected cell1.String() == 'Foo', got ", cell1.String())
|
|
|
+ }
|
|
|
+ cell2 := row.Cells[1]
|
|
|
+ if cell2.String() != "Bar" {
|
|
|
+ t.Error("Expected cell2.String() == 'Bar', got ", cell2.String())
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
func TestReadRowsFromSheetWithEmptyCells(t *testing.T) {
|
|
|
var sharedstringsXML = bytes.NewBufferString(`
|
|
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|