Ver código fonte

io.Reader not io.ReaderAt

Josh Fyne 8 anos atrás
pai
commit
e8ba09d0c5
2 arquivos alterados com 9 adições e 6 exclusões
  1. 9 6
      excelize.go
  2. BIN
      test/Workbook1.xlsx

+ 9 - 6
excelize.go

@@ -26,19 +26,22 @@ func OpenFile(filename string) (*File, error) {
 	if err != nil {
 		return nil, err
 	}
-	b, err := ioutil.ReadAll(file)
+	defer file.Close()
+	return OpenReader(file)
+}
+
+// OpenReader take an io.Reader and return a populated XLSX file.
+func OpenReader(r io.Reader) (*File, error) {
+	b, err := ioutil.ReadAll(r)
 	if err != nil {
 		return nil, err
 	}
-	return OpenReader(bytes.NewReader(b), int64(len(b)))
-}
 
-// OpenReader take an io.Reader and return a populated XLSX file.
-func OpenReader(r io.ReaderAt, size int64) (*File, error) {
-	zr, err := zip.NewReader(r, size)
+	zr, err := zip.NewReader(bytes.NewReader(b), int64(len(b)))
 	if err != nil {
 		return nil, err
 	}
+
 	file, sheetCount, err := ReadZipReader(zr)
 	if err != nil {
 		return nil, err

BIN
test/Workbook1.xlsx