Open Source Python API สำหรับ Google ชีต

เขียนไฟล์สเปรดชีต Excel XML ผ่าน Open Source Python Library

XlsxWriter เป็น API แบบโอเพ่นซอร์สสำหรับการเขียนไฟล์ในรูปแบบไฟล์ Excel 2007+ XLSX การใช้ API คุณสามารถเขียนข้อความ สูตร ตัวเลข และไฮเปอร์ลิงก์ลงในแผ่นงานหลายแผ่นได้ นอกจากนี้ API ยังอนุญาตให้แทรกแผนภูมิ เซลล์การควบรวม จัดรูปแบบเซลล์ ใช้ตัวกรอง ข้อมูลการตรวจสอบ การแทรกรูปภาพ PNG/JPEG/BMP/WMF/EMF การใช้สตริงที่มีรูปแบบหลากหลาย และอื่นๆ อีกมากมาย

XlsxWriter อ้างว่ามีคุณสมบัติ Excel มากกว่าโมดูลหลามอื่น ๆ API ให้อัตราความแม่นยำสูงในขณะที่สร้างไฟล์ Excel ใหม่ โดยส่วนใหญ่แล้วไฟล์ที่สร้างโดยใช้ XlsxWriter จะเทียบเท่ากับไฟล์ที่สร้างโดย Excel 100%

Previous Next

เริ่มต้นใช้งาน XlsxWriter

คุณต้องติดตั้ง Python 2.7 หรือสูงกว่าบนระบบของคุณเพื่อเรียกใช้ XlsxWriter ได้อย่างราบรื่น วิธีที่แนะนำในการติดตั้งผ่าน PIP โปรดใช้คำสั่งต่อไปนี้

ติดตั้ง XlsxWriter ผ่านคำสั่ง PIP

pip install XlsxWriter

สร้างสเปรดชีตผ่าน Python Library

XlsxWriter API อนุญาตให้สร้าง Microsoft Spreadsheets โดยใช้ Python และโมดูล XlsxWriter อนุญาตให้โปรแกรมเมอร์ซอฟต์แวร์สร้างสเปรดชีตเปล่าโดยใช้วิธี XlsxWriter.Workbook() คุณสามารถเพิ่มเวิร์กชีตลงในเวิร์กบุ๊กของคุณโดยใช้เมธอด workbook.add_worksheet() หลังจากเพิ่มเวิร์กชีตแล้ว API จะอนุญาตให้ใช้ฟีเจอร์ฟรีมากมายเพื่อทำงานกับแผ่นงาน excel โดยใช้ Python

สร้างและแก้ไขสเปรดชีตผ่าน Python Library

import xlsxwriter
# Create an new Excel file and add a worksheet.
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
# Widen the first column to make the text clearer.
worksheet.set_column('A:A', 20)
# Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})
# Write some simple text.
worksheet.write('A1', 'Hello')
# Text with formatting.
worksheet.write('A2', 'World', bold)
# Write some numbers, with row/column notation.
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)
workbook.close()

เพิ่มแผนภูมิใน XLSX โดยใช้ Python

ไลบรารีสเปรดชีตโอเพ่นซอร์ส XlsxWriter ช่วยให้นักพัฒนาซอฟต์แวร์สามารถเพิ่มแผนภูมิในรูปแบบไฟล์ XLSX โดยใช้โค้ดเพียงไม่กี่บรรทัด หลังจากสร้างเวิร์กชีตใหม่ใน excel คุณสามารถเพิ่มแผนภูมิได้โดยใช้เมธอด workbook.add_chart() เมื่อใช้ Python API คุณสามารถเพิ่มแผนภูมิพื้นที่ แผนภูมิแท่ง แผนภูมิคอลัมน์ แผนภูมิเส้น แผนภูมิวงกลม แผนภูมิโดนัท แผนภูมิกระจาย แผนภูมิหุ้น และแผนภูมิเรดาร์ได้ฟรี

เพิ่มแผนภูมิแท่งเป็นแผ่นกระจาย LS ผ่านห้องสมุดหลาม<

import xlsxwriter
workbook = xlsxwriter.Workbook('chart_bar.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': 1})
# Add the worksheet data that the charts will refer to.
headings = ['Number', 'Batch 1', 'Batch 2']
data = [
    [2, 3, 4, 5, 6, 7],
    [10, 40, 50, 20, 10, 50],
    [30, 60, 70, 50, 40, 30],
]
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])
# Create a new bar chart.
chart1 = workbook.add_chart({'type': 'bar'})
# Configure the first series.
chart1.add_series({
    'name':       '=Sheet1!$B$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values':     '=Sheet1!$B$2:$B$7',
})

ทำงานกับสูตร Excel โดยใช้ Python

ไลบรารี XlsxWriter ช่วยให้นักพัฒนาสามารถเขียนสูตรในรูปแบบไฟล์ Microsoft Excel โดยทางโปรแกรม คุณสามารถเพิ่มสูตรลงในไฟล์ของคุณโดยใช้เมธอด worksheet.write_forumula() Excel จะจัดเก็บสูตรในรูปแบบของเวอร์ชันภาษาอังกฤษแบบสหรัฐอเมริกา ดังนั้นสูตรจึงต้องอยู่ในรูปแบบภาษาอังกฤษแบบสหรัฐอเมริกา

เพิ่มสูตรอาร์เรย์ผ่านห้องสมุดงูหลาม<

import xlsxwriter
# Create a new workbook and add a worksheet
workbook = xlsxwriter.Workbook('array_formula.xlsx')
worksheet = workbook.add_worksheet()
# Write some test data.
worksheet.write('B1', 500)
worksheet.write('B2', 10)
worksheet.write('B5', 1)
worksheet.write('B6', 2)
worksheet.write('B7', 3)
worksheet.write('C1', 300)
worksheet.write('C2', 15)
worksheet.write('C5', 20234)
worksheet.write('C6', 21003)
worksheet.write('C7', 10000)
# Write an array formula that returns a single value
worksheet.write_formula('A1', '{=SUM(B1:C1*B2:C2)}')
# Same as above but more verbose.
worksheet.write_array_formula('A2:A2', '{=SUM(B1:C1*B2:C2)}')
# Write an array formula that returns a range of values
worksheet.write_array_formula('A5:A7', '{=TREND(C5:C7,B5:B7)}')
workbook.close()
 ไทย