本周使用360的Excel文件读写库时发现一个小问题
本周使用360的Excel文件的读写库的时候发现一点小问题。产生问题的代码如下:
package main
import excelize "github.com/360EntSecGroup-Skylar/excelize/v2"
func main() {
Main2()
}
func Main2() {
f := excelize.NewFile()
// Create a new sheet.
index := f.NewSheet("sheet1")
// Set value of a cell.
f.SetCellValue("sheet1", "A2", "Hello world.")
f.SetCellValue("sheet1", "B2", 100)
// Set active sheet of the workbook.
f.SetActiveSheet(index)
// Save xlsx file by the given path.
if err := f.SaveAs("Book2.xlsx"); err != nil {
println(err.Error())
}
}
就是每次生成的文件打开时总是提示一个框
点击“是”后弹出另外一个框
然后再点击删除才能正常操作excel文件。
对代码多次阅读都没有发现问题。严格参考github.com/360EntSecGroup-Skylar中的readme文件中的代码后,尝试修改代码如下
package main
import excelize "github.com/360EntSecGroup-Skylar/excelize/v2"
func main() {
Main1()
}
func Main1() {
f := excelize.NewFile()
// Create a new sheet.
index := f.NewSheet("Sheet1")
// Set value of a cell.
f.SetCellValue("Sheet1", "A2", "Hello world.")
f.SetCellValue("Sheet1", "B2", 100)
// Set active sheet of the workbook.
f.SetActiveSheet(index)
// Save xlsx file by the given path.
if err := f.SaveAs("Book2.xlsx"); err != nil {
println(err.Error())
}
}
再次运行后,上述问题消失。
两个代码区别主要在于使用了两个不同的参数"sheet1"和"Sheet1", 大部分程序员眼里看,这两个只是两个不同的字符串,不应该影响功能。但是上面的试验告诉我们微软的Excel程序可是认“Sheet1”这个参数。
有疑问加站长微信联系(非本文作者)