Home Backend Development Golang golang modify excel

golang modify excel

May 21, 2023 pm 10:22 PM

Go language is an open source static compiled language developed by Google, referred to as golang. It is efficient, easy to learn and describe, and can handle large-scale data and concurrency problems, so it is widely used in many fields.

This article will introduce how to use golang to modify excel files. In most business fields and work, we need to deal with excel files frequently, which involves a series of operations such as inserting, deleting, updating and searching data. Therefore, it is very necessary to understand how to use golang to operate excel files.

Step1. Install excelize

There are many libraries available for processing excel files in golang, the most popular of which is excelize. This library can treat an xlsx file as a database, where we can create new data tables, insert new data rows, modify existing data, or add or delete rows or columns in the data.

In order to use the excelize library, we must install it first. You can install the library through the following command:

go get -u github.com/360EntSecGroup-Skylar/excelize
Copy after login

This command will download the excelize library to the $GOPATH/src path. If you haven't set your GOPATH yet, it is recommended to create a go directory in the user directory and add it to the environment variable.

Step2. Create excel file

First we need to create an excel file. This can be achieved by using the Excelize library's NewFile() method. The following is a sample code:

package main

import (
    "fmt"

    "github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
    // 创建一个excel文件
    f := excelize.NewFile()

    // 在Sheet1中的A1单元格中设置一个值
    f.SetCellValue("Sheet1", "A1", "Hello, world!")
    
    // 将数据写入文件并将其保存到本地磁盘
    if err := f.SaveAs("test.xlsx"); err != nil {
        fmt.Println(err)
    }
}
Copy after login

The above code creates an excel file named test.xlsx and writes a "Hello, world!" string to cell A1 of Sheet1. We save the file to the local disk by calling the f.SaveAs() method.

If you want to add a new sheet to an existing excel file, you can use the NewSheet() method. The sample code is as follows:

// 新建一个excel文件
f, err := excelize.OpenFile("test.xlsx")
if err != nil {
    fmt.Println(err)
}

// 在现有文件中新建一个Sheet
f.NewSheet("new sheet")

// 在新Sheet的A1单元格中设置一个值
f.SetCellValue("new sheet", "A1", "Hello, world!")

// 将数据写入文件并将其保存到本地磁盘
if err := f.SaveAs("test.xlsx"); err != nil {
    fmt.Println(err)
}
Copy after login

Step3. Modify the excel file

Now that we have created an excel file, we can modify it directly. The following is a sample code for modifying an excel file:

// 打开一个excel文件
f, err := excelize.OpenFile("test.xlsx")
if err != nil {
    fmt.Println(err)
}

// 获取Sheet1中的A1单元格的值
cell := f.GetCellValue("Sheet1", "A1")
fmt.Println(cell) // Output: Hello, world!

// 在Sheet1中的A2单元格中设置一个值
f.SetCellValue("Sheet1", "A2", "Nice to meet you!")

// 在新Sheet上添加一个表格
f.SetCellValue("new sheet", "B2", "Excelize")

// 将数据写入到文件中并将其保存到本地磁盘
if err := f.SaveAs("test.xlsx"); err != nil {
    fmt.Println(err)
}
Copy after login

This sample code opens an excel file named test.xlsx. It reads a value from cell A1 of Sheet1 and prints it. Then new data was inserted into cell A2 of Sheet1 and cell B2 of the new sheet.

Step4. Delete excel file

Finally, if you want to delete a certain cell, row or column from the excel file, we can use DeleteCell(), DeleteRow() and DeleteCol( )method. The following is a sample code to delete cells, rows and columns:

// 打开一个excel文件
f, err := excelize.OpenFile("test.xlsx")
if err != nil {
    fmt.Println(err)
}

// 删除Sheet1中的A2单元格
f.DeleteCell("Sheet1", "A2")

// 删除Sheet1中的第二行
f.DeleteRow("Sheet1", 2)

// 删除Sheet1中的第二列
f.DeleteCol("Sheet1", "B")

// 将数据写入到文件中并将其保存到本地磁盘
if err := f.SaveAs("test.xlsx"); err != nil {
    fmt.Println(err)
}
Copy after login

With these commands, we can easily delete excel files.

Conclusion

We now know how to use golang to operate excel files. In actual projects, these skills are of practical significance. From reading to modifying to deleting, we have introduced many ways to process excel files through this article. I believe that through the explanation of this article, readers can master the skills of using golang to operate excel files and apply them in actual development.

The above is the detailed content of golang modify excel. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the vulnerabilities of Debian OpenSSL What are the vulnerabilities of Debian OpenSSL Apr 02, 2025 am 07:30 AM

OpenSSL, as an open source library widely used in secure communications, provides encryption algorithms, keys and certificate management functions. However, there are some known security vulnerabilities in its historical version, some of which are extremely harmful. This article will focus on common vulnerabilities and response measures for OpenSSL in Debian systems. DebianOpenSSL known vulnerabilities: OpenSSL has experienced several serious vulnerabilities, such as: Heart Bleeding Vulnerability (CVE-2014-0160): This vulnerability affects OpenSSL 1.0.1 to 1.0.1f and 1.0.2 to 1.0.2 beta versions. An attacker can use this vulnerability to unauthorized read sensitive information on the server, including encryption keys, etc.

Transforming from front-end to back-end development, is it more promising to learn Java or Golang? Transforming from front-end to back-end development, is it more promising to learn Java or Golang? Apr 02, 2025 am 09:12 AM

Backend learning path: The exploration journey from front-end to back-end As a back-end beginner who transforms from front-end development, you already have the foundation of nodejs,...

What libraries are used for floating point number operations in Go? What libraries are used for floating point number operations in Go? Apr 02, 2025 pm 02:06 PM

The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

What is the problem with Queue thread in Go's crawler Colly? What is the problem with Queue thread in Go's crawler Colly? Apr 02, 2025 pm 02:09 PM

Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

How to specify the database associated with the model in Beego ORM? How to specify the database associated with the model in Beego ORM? Apr 02, 2025 pm 03:54 PM

Under the BeegoORM framework, how to specify the database associated with the model? Many Beego projects require multiple databases to be operated simultaneously. When using Beego...

In Go, why does printing strings with Println and string() functions have different effects? In Go, why does printing strings with Println and string() functions have different effects? Apr 02, 2025 pm 02:03 PM

The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

How to solve the user_id type conversion problem when using Redis Stream to implement message queues in Go language? How to solve the user_id type conversion problem when using Redis Stream to implement message queues in Go language? Apr 02, 2025 pm 04:54 PM

The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

What should I do if the custom structure labels in GoLand are not displayed? What should I do if the custom structure labels in GoLand are not displayed? Apr 02, 2025 pm 05:09 PM

What should I do if the custom structure labels in GoLand are not displayed? When using GoLand for Go language development, many developers will encounter custom structure tags...

See all articles