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%
เริ่มต้นใช้งาน 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()