一 读取
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