summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib.go11
-rw-r--r--sheet.go4
-rw-r--r--stream.go2
3 files changed, 5 insertions, 12 deletions
diff --git a/lib.go b/lib.go
index 2d2c1fa..acb4590 100644
--- a/lib.go
+++ b/lib.go
@@ -20,7 +20,6 @@ import (
"io"
"strconv"
"strings"
- "unsafe"
)
// ReadZipReader can be used to read the spreadsheet in memory without touching the
@@ -251,17 +250,11 @@ func namespaceStrictToTransitional(content []byte) []byte {
StrictNameSpaceSpreadSheet: NameSpaceSpreadSheet.Value,
}
for s, n := range namespaceTranslationDic {
- content = bytesReplace(content, stringToBytes(s), stringToBytes(n), -1)
+ content = bytesReplace(content, []byte(s), []byte(n), -1)
}
return content
}
-// stringToBytes cast a string to bytes pointer and assign the value of this
-// pointer.
-func stringToBytes(s string) []byte {
- return *(*[]byte)(unsafe.Pointer(&s))
-}
-
// bytesReplace replace old bytes with given new.
func bytesReplace(s, old, new []byte, n int) []byte {
if n == 0 {
@@ -366,7 +359,7 @@ func getXMLNamespace(space string, attr []xml.Attr) string {
// replaceNameSpaceBytes provides a function to replace the XML root element
// attribute by the given component part path and XML content.
func (f *File) replaceNameSpaceBytes(path string, contentMarshal []byte) []byte {
- var oldXmlns = stringToBytes(`xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`)
+ var oldXmlns = []byte(`xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`)
var newXmlns = []byte(templateNamespaceIDMap)
if attr, ok := f.xmlAttr[path]; ok {
newXmlns = []byte(genXMLNamespace(attr))
diff --git a/sheet.go b/sheet.go
index 31a36eb..a92221d 100644
--- a/sheet.go
+++ b/sheet.go
@@ -213,8 +213,8 @@ func (f *File) setAppXML() {
// strict requirements about the structure of the input XML. This function is
// a horrible hack to fix that after the XML marshalling is completed.
func replaceRelationshipsBytes(content []byte) []byte {
- oldXmlns := stringToBytes(`xmlns:relationships="http://schemas.openxmlformats.org/officeDocument/2006/relationships" relationships`)
- newXmlns := stringToBytes("r")
+ oldXmlns := []byte(`xmlns:relationships="http://schemas.openxmlformats.org/officeDocument/2006/relationships" relationships`)
+ newXmlns := []byte("r")
return bytesReplace(content, oldXmlns, newXmlns, -1)
}
diff --git a/stream.go b/stream.go
index ec1e65b..19f5ca7 100644
--- a/stream.go
+++ b/stream.go
@@ -367,7 +367,7 @@ func writeCell(buf *bufferedWriter, c xlsxC) {
buf.WriteString(`>`)
if c.V != "" {
buf.WriteString(`<v>`)
- xml.EscapeText(buf, stringToBytes(c.V))
+ xml.EscapeText(buf, []byte(c.V))
buf.WriteString(`</v>`)
}
buf.WriteString(`</c>`)