我正在使用https://github.com/tealeg/xlsx生成 Go 语言的 xlsx 文件。该应用程序正在 Google App Engine 上运行。
var file *xlsx.File
var sheet *xlsx.Sheet
var row *xlsx.Row
var cell *xlsx.Cell
var err error
file = xlsx.NewFile()
sheet, err = file.AddSheet("TEST")
if err != nil {
fmt.Printf(err.Error())
}
row = sheet.AddRow()
cell = row.AddCell()
cell.Value = "I am a cell!"
w.Header().Set("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
w.Header().Add("Content-Disposition", "attachment; filename=Test.xlsx")
file.Write(w)
fmt.Fprint(w, nil)
变量 w 是 http.ResponseWriter。
我已经测试了这段代码,浏览器成功下载了 xlsx 文件,我可以在 Linux 64 位上使用 LibreOffice 打开它。但是,当我尝试在 Windows 7 32 位上使用 Microsoft Excel 2010 打开文件时,它给了我以下错误消息:-
Excel 在“Test.xlsx”中发现无法读取的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击是。
一旦我点击是,它就会显示“我是一个细胞!”的内容。正确然后我点击了启用编辑按钮,它给了我一条消息:-
Excel 完成了文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃。
如何通过使 Microsoft Excel 打开由tealeg/xlsx 生成的 xlsx 文件而没有任何错误消息来解决此问题?
阿波罗的战车
相关分类