>  기사  >  백엔드 개발  >  golang은 Excel 읽기 및 쓰기를 구현합니다.

golang은 Excel 읽기 및 쓰기를 구현합니다.

王林
王林원래의
2023-05-13 10:04:373496검색

데이터 처리에 대한 수요가 점점 더 중요해짐에 따라 Excel 테이블의 데이터는 점차 일상 업무와 생활에서 없어서는 안 될 부분이 되었습니다. Golang 프로그래밍 언어에는 Excel 파일을 쉽게 읽고 쓸 수 있는 뛰어난 라이브러리도 있습니다. 이 기사에서는 Golang 버전의 Excel 파일을 읽고 쓰는 방법을 단계별로 설명합니다.

  1. Excel 처리 라이브러리 설치

Excel 파일의 읽기 및 쓰기 작업을 실현하려면 타사 Golang 라이브러리인 go-excelize를 사용해야 합니다. 다음 명령을 실행하여 라이브러리를 설치합니다.

go get github.com/360EntSecGroup-Skylar/excelize
  1. Excel 파일 읽기

먼저 "test.xlsx"라는 Excel 파일을 열고 그 안의 Sheet1을 읽어야 할 테이블로 사용합니다.

f, err := excelize.OpenFile("./test.xlsx")
if err != nil {
    fmt.Println(err)
    return
}
// 取得 Sheet1 表格中所有的行
rows, err := f.GetRows("Sheet1")
if err != nil {
    fmt.Println(err)
    return
}

GetRows 메서드를 사용하면 Sheet1 테이블의 모든 행을 쉽게 가져올 수 있습니다. 다음으로, 데이터의 각 행을 반복하고 각 셀의 값을 인쇄할 수 있습니다.

for i, row := range rows {
    for j, colCell := range row {
        fmt.Printf("(%d,%d) %s
", i+1, j+1, colCell)
    }
}
  1. 엑셀 파일 쓰기

엑셀 파일을 읽는 것과 마찬가지로 먼저 "write.xlsx"라는 이름의 엑셀 파일을 열고 시트1로 작성할 테이블을 선택합니다.

f := excelize.NewFile()
// 创建一个名为 Sheet1 的表格
sheetIndex := f.NewSheet("Sheet1")
// 设置 Sheet1 表格为当前操作表格
f.SetActiveSheet(sheetIndex)

이제 새 Excel 파일을 만들고 Sheet1이라는 테이블을 추가했습니다. 다음으로 필요한 데이터를 테이블에 쓸 수 있습니다.

// 向 A1 单元格写入内容
f.SetCellValue("Sheet1", "A1", "姓名")
f.SetCellValue("Sheet1", "B1", "年龄")
f.SetCellValue("Sheet1", "C1", "性别")

// 写入数据行
f.SetCellValue("Sheet1", "A2", "张三")
f.SetCellValue("Sheet1", "B2", 26)
f.SetCellValue("Sheet1", "C2", "男")

f.SetCellValue("Sheet1", "A3", "李四")
f.SetCellValue("Sheet1", "B3", 28)
f.SetCellValue("Sheet1", "C3", "男")

f.SetCellValue("Sheet1", "A4", "小花")
f.SetCellValue("Sheet1", "B4", 24)
f.SetCellValue("Sheet1", "C4", "女")

위 코드를 사용하여 Excel 테이블에 데이터를 성공적으로 기록했습니다. 마지막으로 데이터가 지속될 수 있도록 파일을 저장해야 합니다.

err := f.SaveAs("./write.xlsx")
if err != nil {
    fmt.Println(err)
}
  1. 전체 코드

참고: 이 샘플 코드는 데모용으로만 사용되며 파일을 읽고 쓰는 데 사용되는 테이블 형식은 실제 상황에 따라 조정되어야 합니다.

전체 코드는 다음과 같습니다.

package main

import (
    "fmt"
    "github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
    // 读取 Excel 文件
    f, err := excelize.OpenFile("./test.xlsx")
    if err != nil {
        fmt.Println(err)
        return
    }
    // 取得 Sheet1 表格中所有的行
    rows, err := f.GetRows("Sheet1")
    if err != nil {
        fmt.Println(err)
        return
    }
    // 遍历所有单元格的数据
    for i, row := range rows {
        for j, colCell := range row {
            fmt.Printf("(%d,%d) %s
", i+1, j+1, colCell)
        }
    }

    // 创建 Excel 文件
    f := excelize.NewFile()
    // 创建一个名为 Sheet1 的表格
    sheetIndex := f.NewSheet("Sheet1")
    // 设置 Sheet1 表格为当前操作表格
    f.SetActiveSheet(sheetIndex)

    // 向 A1 单元格写入内容
    f.SetCellValue("Sheet1", "A1", "姓名")
    f.SetCellValue("Sheet1", "B1", "年龄")
    f.SetCellValue("Sheet1", "C1", "性别")

    // 写入数据行
    f.SetCellValue("Sheet1", "A2", "张三")
    f.SetCellValue("Sheet1", "B2", 26)
    f.SetCellValue("Sheet1", "C2", "男")

    f.SetCellValue("Sheet1", "A3", "李四")
    f.SetCellValue("Sheet1", "B3", 28)
    f.SetCellValue("Sheet1", "C3", "男")

    f.SetCellValue("Sheet1", "A4", "小花")
    f.SetCellValue("Sheet1", "B4", 24)
    f.SetCellValue("Sheet1", "C4", "女")

    // 保存 Excel 文件
    err := f.SaveAs("./write.xlsx")
    if err != nil {
        fmt.Println(err)
    }
}
  1. 요약

위의 코드 데모를 통해 Golang을 사용하여 Excel 파일에 대한 읽기 및 쓰기 작업을 구현하는 것이 매우 간단하고 효율적이라는 것을 알 수 있습니다. go-excelize는 Golang 커뮤니티의 강력한 라이브러리로 Excel 파일을 처리하는 다양한 기능을 제공하며 다른 라이브러리와 통합될 수 있습니다. 따라서 Golang은 Excel 파일 처리를 위한 매우 좋은 선택 중 하나가 되었습니다. 모든 사람에게 도움이 되기를 바랍니다.

위 내용은 golang은 Excel 읽기 및 쓰기를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:golang 문자열 转json다음 기사:golang 문자열 转json