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(``) - xml.EscapeText(buf, stringToBytes(c.V)) + xml.EscapeText(buf, []byte(c.V)) buf.WriteString(``) } buf.WriteString(``)