Go Library สำหรับการทำงานกับเอกสาร Excel XLSX
Open Source Go API ที่รองรับการสร้างสเปรดชีต Microsoft Excel XLSX, จัดการเวิร์กชีต, จัดการ แถวและคอลัมน์ในเวิร์กชีตผ่าน Go API
ไลบรารี xlsx เป็นวิธีที่รวดเร็วและเชื่อถือได้สำหรับการทำงานกับไฟล์ Microsoft Excel โดยใช้ Go ไลบรารีช่วยให้อ่านและเขียนรูปแบบไฟล์ Excel XLSX ได้ง่ายขึ้น รูปแบบไฟล์ XLSX เปิดตัวในปี 2550 และใช้มาตรฐาน Open XML ที่ดัดแปลงโดย Microsoft ในปี 2000 ไลบรารีเป็นโอเพ่นซอร์สและพร้อมใช้งานภายใต้ลิขสิทธิ์ BSD-3-Clause
ไลบรารี xlsx แบบโอเพ่นซอร์สได้รวมการรองรับคุณสมบัติที่สำคัญหลายอย่างที่เกี่ยวข้องกับการสร้างและจัดการเอกสาร Microsoft Excel เช่น การสร้างไฟล์ XlSX ใหม่ การเปิดไฟล์ Excel ที่มีอยู่ การเข้าถึงเวิร์กชีตของคุณ การเพิ่มเวิร์กชีตใหม่ การจัดการแถวและคอลัมน์ภายในเวิร์กชีต การเพิ่ม เซลล์ รับเซลล์จากแถว จัดรูปแบบเซลล์ นำสไตล์ไปใช้กับเซลล์ รองรับช่วงที่มีชื่อ และอื่นๆ อีกมากมาย
เริ่มต้นกับ Xlsx2Go
วิธีที่แนะนำในการติดตั้ง xlsx มาจาก GitHub โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น
ติดตั้ง xlsx ผ่าน GitHub
go get https://github.com/tealeg/xlsx.git
การสร้างไฟล์ XLSX ใหม่ผ่าน Go Library
ไลบรารี xlsx แบบโอเพ่นซอร์สช่วยให้นักพัฒนาซอฟต์แวร์สามารถสร้างไฟล์ XLSX ใหม่ที่ว่างเปล่าตั้งแต่เริ่มต้นโดยใช้คำสั่ง Go สองสามคำสั่ง นักพัฒนาสามารถใช้ฟังก์ชัน NewFile() ใหม่เพื่อสร้างไฟล์ใหม่ เมื่อสร้างเสร็จแล้ว คุณสามารถเพิ่มเนื้อหาใหม่ลงในเวิร์กบุ๊กได้อย่างง่ายดาย คุณสามารถเพิ่มแผ่นงานใหม่หรือผนวกแผ่นงานที่มีอยู่ได้อย่างง่ายดาย เมื่อสร้างและงานเสร็จสมบูรณ์แล้ว โปรดบันทึกงานของคุณ ขอแนะนำให้ปิด ()แผ่นงาน
สร้างและแก้ไขไฟล์ Excel LS ผ่านไป API
// Demonstrates how to create/open/save XLSX files
func Example_files() {
// Create a new XLSX file
xl := xlsx.New()
// Open the XLSX file using file name
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Open the XLSX file using file handler
zipFile, err := os.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
xl, err = xlsx.Open(zipFile)
if err != nil {
log.Fatal(err)
}
// Update the existing XLSX file
err = xl.Save()
if err != nil {
log.Fatal(err)
}
// Save the XLSX file under different name
err = xl.SaveAs("new_file.xlsx")
if err != nil {
log.Fatal(err)
}
}
เข้าถึงและอ่านไฟล์ XLSX
ไลบรารี xlsx แบบโอเพ่นซอร์สได้จัดเตรียมชุดของฟังก์ชันที่ช่วยให้นักพัฒนาสามารถเข้าถึงการเปิดและอ่านไฟล์สเปรดชีต XLSX ที่มีอยู่ภายในแอปพลิเคชัน Go ของตนเองได้ คุณยังสามารถเข้าถึงแผ่นงานของเวิร์กบุ๊กได้อย่างง่ายดายด้วยคำสั่ง Go เพียงไม่กี่คำสั่ง นักพัฒนายังสามารถเข้าถึงแผ่นงานที่ต้องการได้อย่างง่ายดาย
เข้าถึงและอ่านไฟล์ Excel ผ่านห้องสมุด Go
func Example_access() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Get sheet by 0-based index
sheet := xl.Sheet(0)
// Get cell by 0-based indexes
cell := sheet.Cell(13, 27)
fmt.Println(cell.Value())
// Get cell by reference
cell = sheet.CellByRef("N28")
fmt.Println(cell.Value())
// Get row by 0-based index
row := sheet.Row(9)
fmt.Println(strings.Join(row.Values(), ","))
// Get cell of row at 0-based col index
cell = row.Cell(0)
fmt.Println(cell.Value())
// Get col by 0-based index
col := sheet.Col(3)
fmt.Println(strings.Join(col.Values(), ","))
// Get cell of col at 0-based row index
cell = col.Cell(0)
fmt.Println(cell.Value())
// Get range by references
area := sheet.RangeByRef("D10:H13")
fmt.Println(strings.Join(area.Values(), ","))
}
การจัดการแถวและคอลัมน์ในเวิร์กชีต
เซลล์คือกระดูกสันหลังของเวิร์กชีต Excel แผ่นงานประกอบด้วยเซลล์ที่จัดเรียงเป็นแถวและคอลัมน์ ไลบรารี xlsx ช่วยให้นักพัฒนาซอฟต์แวร์มีฟีเจอร์ที่หลากหลายสำหรับการจัดการแถวและคอลัมน์ภายในแอปโดยใช้คำสั่ง Go รองรับการเพิ่มแถวและคอลัมน์ใหม่ การวนซ้ำแถวและคอลัมน์ การลบแถวและคอลัมน์ที่ไม่ต้องการ เพิ่มเซลล์ใหม่ในแถว รับค่าจากเซลล์ การนำการจัดรูปแบบไปใช้กับช่วงของเซลล์ และอื่นๆ อีกมากมาย
แทรกคอลัมน์และ Ross ในแผ่นงาน Excel ผ่านห้องสมุด Go
func Example_insert() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
sheet := xl.Sheet(0)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
// Insert a new col
sheet.InsertCol(3)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Col(3).Values(), ","))
fmt.Println(strings.Join(sheet.Col(4).Values(), ","))
// Insert a new row
fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
sheet.InsertRow(3)
fmt.Println(sheet.Dimension())
fmt.Println(strings.Join(sheet.Row(9).Values(), ","))
fmt.Println(strings.Join(sheet.Row(10).Values(), ","))
}
ใช้สไตล์และการจัดรูปแบบ
ไลบรารี xlsx ของไลบรารีฟรีมีฟังก์ชันสำคัญหลายอย่างที่ช่วยให้นักพัฒนาซอฟต์แวร์สามารถนำการจัดรูปแบบและสไตล์ไปใช้กับสเปรดชีตได้อย่างง่ายดาย ลักษณะมีเค้าโครงและการตกแต่งของเซลล์ เช่น แบบอักษร สี การจัดแนวเนื้อหา ขนาดแบบอักษร การเติม ฯลฯ คุณสามารถนำสไตล์ไปใช้กับช่วงของเซลล์ได้อย่างง่ายดายด้วยโค้ดเพียงไม่กี่บรรทัด คุณเพียงแค่ต้องสร้างสไตล์เพียงครั้งเดียวและนำมาใช้ใหม่เมื่อจำเป็น คุณยังสามารถนำรูปแบบตัวเลขและวันที่ไปใช้กับเซลล์ได้อีกด้วย
ใช้รูปแบบและการจัดรูปแบบไฟล์ Excel ผ่านห้องสมุด Go
gfunc Example_formatting() {
xl, err := xlsx.Open("./test_files/example_simple.xlsx")
if err != nil {
log.Fatal(err)
}
defer xl.Close()
// Create a new format for a bold font with red color and yellow solid background
redBold := styles.New(
styles.Font.Bold,
styles.Font.Color("#ff0000"),
styles.Fill.Background("#ffff00"),
styles.Fill.Type(styles.PatternTypeSolid),
)
// Add formatting to xlsx
styleID := xl.AddStyles(redBold)
sheet := xl.Sheet(0)
// Set formatting for cell
sheet.CellByRef("N28").SetStyles(styleID)
// Set DEFAULT formatting for row. Affects cells not yet allocated in the row.
// In other words, this style applies to new cells.
sheet.Row(9).SetStyles(styleID)
// Set DEFAULT formatting for col. Affects cells not yet allocated in the col.
// In other words, this style applies to new cells.
sheet.Col(3).SetStyles(styleID)
//set formatting for all cells in range
sheet.RangeByRef("D10:H13").SetStyles(styleID)
}