python中openpyxl的用法【安裝,以及一些基本的操作, xlwt教程鏈接】


xlwt教程地址  ----_<_>_----

概述

Openpyxl是python中簡單易用的操作excel電子表格的一個模塊。接下來呢,跟博主一起學習一下吧  ----_<_>_----

首先先清楚一些excel的基本概念:

在openpyxl中,主要用到三個概念:Workbooks,Sheets,Cells。Workbook就是一個excel工作表;Sheet是工作表中的一張表頁;Cell就是簡單的一個格。openpyxl就是圍繞着這三個概念進行的,不管讀寫都是“三板斧”:打開Workbook,定位Sheet,操作Cell。

總結:

  • workbooks是excel一個工作表,一個工作表包含多個頁,即包含多個sheet
  • sheet是excel當中的一頁,一個工作頁包含多個表格,即包含多個cell
  • cell是excel當中的一個工作表格

安裝

pip install openpyxl

接下來就介紹一下簡單的操作

  

# -*- coding:utf-8 -*-

# 導入
from openpyxl import workbook
from openpyxl import load_workbook

# 打開一個供作薄
wb = load_workbook('file_name.xlsx')

# 獲取一張表
sheet = wb.get_sheet_by_name("Sheet1")
# 獲取A1格的值
print sheet['A1'].value
# 獲取表的最大工作行數
print sheet.max_row
# 獲取表的最大工作列數
print sheet.max_column
# 打印C列的所有內容(以下格式代表不換行)
for i in sheet["C"]:
    print i.value, '   ',
print ''
# 打印1行的所有內容
for i in sheet["1"]:
    print i.value, '   ',
print '' 

  注意:當讀到的內容為None時說明該表格中的內容為空

接下來呢新創建一個新的工作薄

# -*- coding:utf-8 -*-


from openpyxl import Workbook

# 創建一個工作薄
wb = Workbook()

# 創建一個工作表(注意是一個屬性)
sheet = wb.active

# excel創建的工作表名默認為sheet1,一下代碼實現了給新創建的工作表創建一個新的名字
sheet.title = 'create_sheet'

# 向工作表中輸入內容
sheet['C3'] = 'hello word'

for i in range(10):
    sheet['A%d' % (i+1)] = i+1

# 向excel表中輸入表達試
sheet['C2'] = '=SUM(A:A)'

# 保存一個文檔
wb.save('create_excel.xlsx')


if __name__ == '__main__':
    pass

  保存之后會出現一下樣式

 django中從服務端彈到瀏覽器段的方法

思想:將信息保存到字符串緩沖區,然后指定返回到客戶端的格式為excel格式即可

代碼:

from openpyxl import load_workbook

wb = load_workbook('file_name.xlsx')

from io import BytesIO

output = BytesIO()

sheet = wb[wb.get_sheet_names()[0]]   # 獲取第一個工作區

sheet['A3'] =  'kayb'

wb.save(output)   # 將wb文件保存到緩存區中

response = HttpResponse(content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment;filename={0}.xlsx'.format(‘file_name’)
response.write(output.getvalue())   # 獲取緩沖區當中的值
return response 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM