读写excel文件

一 读取

pip install  xlrd
import xlrd
from django.core.files.storage import FileSystemStorage

# 1.将用户上传的excle文件保存在服务器
res_excel = request.FILES.get("file")
sys_file = FileSystemStorage(location="此处填写服务器位置")
sys_file.save(res_excel.name, res_excel)

# 2. 打开excel文件
excel_file = xlrd.open_workbook("此处填写服务器位置" + res_excel.name)

# 3. 读取sheet
sheet_obj = excel_file.sheets()[0] # 按照索引读取
sheet_obj = excel_file.sheet_by_index(0) # 按照索引读取
sheet_obj = excel_file.sheet_by_name("sheet的名字") # 按照sheet名称读取

sheet_names = excel_file.sheet_names() # 读取所有的sheet名称

excel_file.sheet_loaded(sheet_name or indx)   # 检查某个sheet是否导入完毕

# 4. 行操作
nrows = excel_file.nrows  # 获取该sheet中的有效行数
excel_file.row(0)  # 返回由该行中所有的单元格对象组成的列表
excel_file.row_slice(0)  # 返回由该列中所有的单元格对象组成的列表
excel_file.row_types(0, start_colx=0, end_colx=None)    # 返回由该行中所有单元格的数据类型组成的列表
excel_file.row_values(0, start_colx=0, end_colx=None)   # 返回由该行中所有单元格的数据组成的列表
excel_file.row_len(0) # 返回该列的有效单元格长度

# 5. 列操作
ncols = excel_file.ncols   #获取列表的有效列数
excel_file.col(0, start_rowx=0, end_rowx=None)  # 返回由该列中所有的单元格对象组成的列表
excel_file.col_slice(0, start_rowx=0, end_rowx=None)  # 返回由该列中所有的单元格对象组成的列表
excel_file.col_types(0, start_rowx=0, end_rowx=None)    # 返回由该列中所有单元格的数据类型组成的列表
excel_file.col_values(0, start_rowx=0, end_rowx=None)   # 返回由该列中所有单元格的数据组成的列表

# 6. 单元格操作
excel_file.cell(1, 2)   # 返回1行2列的 单元格对象
excel_file.cell_type(1, 2)    # 返回1行2列的单元格中的数据类型
excel_file.cell_value(1, 2)   # 返回1行2列的单元格中的数据
excel_file.cell_xf_index(rowx, colx)   # 暂时还没有搞懂

二 写入

pip install XlsxWriter
import xlsxwriter

# 1. 新建excel文件
workbook = xlsxwriter.Workbook('文件名称.xlsx')     #新建excel表
 
 # 2. 新建sheet
worksheet = workbook.add_worksheet('sheet1')

# 3. 基本使用
data_list = [1, 2, 3]
data_str = "这些写待插入的数据"
worksheet.write_row("A1", data_list ) # 写入一行数据
worksheet.write_column("A1', data_list ) # 写入一列数据
worksheet.write_string("A1", "B1", data_str) # 在单元格内写入数据
workbook.close() # 关闭文件

# 4. 单元格格式(更多用法查询资料)
format_dict = {
	'font_name', "Times New Roman", # 字体
    'size': 10, # 字体大小
    'font_color', 'red', # 字体颜色
    'bold', True, # 表头加粗
    'border': 1, # 边框宽度
    'align': 'center', # 对齐方式
    'valign': 'vcenter', # 对齐方式
    'text_wrap': True,
}

data_str = "待插入的数据"

worksheet.write_string("A1", "B1", data_str, workbook.add_format(format_dict))

# 5. 图标操作查询资料

参考文件
https://www.cnblogs.com/insane-Mr-Li/p/9092619.html
https://www.cnblogs.com/fkissx/p/5617630.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值