360的Excel 文件读写库(golang)存在的一点小问题

golang推广大使 · · 4557 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

本周使用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())
    }
}

就是每次生成的文件打开时总是提示一个框


image.png

点击“是”后弹出另外一个框


image.png

然后再点击删除才能正常操作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”这个参数。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:golang推广大使

查看原文:360的Excel 文件读写库(golang)存在的一点小问题

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4557 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传