如何用golang将txt文件转换成xml文件和excel文件
时间: 2024-04-24 08:21:21 浏览: 206
txt文档转化成xml格式
3星 · 编辑精心推荐
对于将txt文件转换为xml和excel文件,您可以使用Go语言的一些库来实现。以下是一个简单的示例,使用`encoding/xml`和`github.com/tealeg/xlsx`库来完成转换:
首先,您需要安装所需的库。在命令行中执行以下命令:
```
go get encoding/xml
go get github.com/tealeg/xlsx
```
接下来,您可以使用以下代码将txt文件转换为xml文件:
```go
package main
import (
"encoding/xml"
"fmt"
"io/ioutil"
"os"
)
type Item struct {
XMLName xml.Name `xml:"item"`
Text string `xml:",chardata"`
}
type Items struct {
XMLName xml.Name `xml:"items"`
Items []Item `xml:"item"`
}
func main() {
// 读取txt文件内容
txtData, err := ioutil.ReadFile("input.txt")
if err != nil {
fmt.Println("读取txt文件失败:", err)
return
}
// 创建Items结构体并填充数据
items := Items{}
items.Items = append(items.Items, Item{Text: string(txtData)})
// 将Items结构体转换为xml格式
xmlData, err := xml.MarshalIndent(items, "", " ")
if err != nil {
fmt.Println("转换为xml失败:", err)
return
}
// 将xml数据写入文件
err = ioutil.WriteFile("output.xml", xmlData, 0644)
if err != nil {
fmt.Println("写入xml文件失败:", err)
return
}
fmt.Println("txt文件已成功转换为xml文件.")
}
```
将上述代码保存为`txt2xml.go`文件并执行`go run txt2xml.go`,即可将`input.txt`文件转换为`output.xml`文件。
接下来,您可以使用以下代码将txt文件转换为excel文件:
```go
package main
import (
"fmt"
"github.com/tealeg/xlsx"
"io/ioutil"
)
func main() {
// 读取txt文件内容
txtData, err := ioutil.ReadFile("input.txt")
if err != nil {
fmt.Println("读取txt文件失败:", err)
return
}
// 创建新的xlsx文件
file := xlsx.NewFile()
sheet, err := file.AddSheet("Sheet1")
if err != nil {
fmt.Println("创建xlsx文件失败:", err)
return
}
// 在第一行第一列添加txt数据
cell := sheet.Cell(0, 0)
cell.Value = string(txtData)
// 保存xlsx文件
err = file.Save("output.xlsx")
if err != nil {
fmt.Println("保存xlsx文件失败:", err)
return
}
fmt.Println("txt文件已成功转换为excel文件.")
}
```
将上述代码保存为`txt2excel.go`文件并执行`go run txt2excel.go`,即可将`input.txt`文件转换为`output.xlsx`文件。
请确保在运行代码之前,将实际的txt文件命名为`input.txt`并与代码文件放在同一目录下。
阅读全文