데이터 처리에 대한 수요가 점점 더 중요해짐에 따라 Excel 테이블의 데이터는 점차 일상 업무와 생활에서 없어서는 안 될 부분이 되었습니다. Golang 프로그래밍 언어에는 Excel 파일을 쉽게 읽고 쓸 수 있는 뛰어난 라이브러리도 있습니다. 이 기사에서는 Golang 버전의 Excel 파일을 읽고 쓰는 방법을 단계별로 설명합니다.
Excel 파일의 읽기 및 쓰기 작업을 실현하려면 타사 Golang 라이브러리인 go-excelize를 사용해야 합니다. 다음 명령을 실행하여 라이브러리를 설치합니다.
go get github.com/360EntSecGroup-Skylar/excelize
먼저 "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) } }
엑셀 파일을 읽는 것과 마찬가지로 먼저 "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) }
참고: 이 샘플 코드는 데모용으로만 사용되며 파일을 읽고 쓰는 데 사용되는 테이블 형식은 실제 상황에 따라 조정되어야 합니다.
전체 코드는 다음과 같습니다.
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) } }
위의 코드 데모를 통해 Golang을 사용하여 Excel 파일에 대한 읽기 및 쓰기 작업을 구현하는 것이 매우 간단하고 효율적이라는 것을 알 수 있습니다. go-excelize는 Golang 커뮤니티의 강력한 라이브러리로 Excel 파일을 처리하는 다양한 기능을 제공하며 다른 라이브러리와 통합될 수 있습니다. 따라서 Golang은 Excel 파일 처리를 위한 매우 좋은 선택 중 하나가 되었습니다. 모든 사람에게 도움이 되기를 바랍니다.
위 내용은 golang은 Excel 읽기 및 쓰기를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!