Python语法简洁清晰,做为工做中经常使用的开发语言仍是很强大的(废话)。python
python关于Excel的操做提供了xlwt和xlrd两个的包做为针对Excel通用操做的支持,跨平台(Mac、Windows都可)。spa
xlrdxlrd目前支持读写xlsx(2007版)与xls(2003版),简单的说明以下:excel
import xlrd def open_excel(file='test.xls'): try: data = xlrd.open_workbook(file) # 经过索引获取工做表 sheet1 = data.sheets()[0] # 经过名称获取工做表 sheet1 = data.sheet_by_name(u'sheet1') # 获取table对象,根据table进行该工做表相关数据的读取 # 获取行列 row = sheet1.nrows col = sheet1.ncols # 获取单元格的值 cell_value = sheet1.cell(0, 1).value # 行列表数据 for i in range(row): print sheet1.row_values(i) # 数据写入 # 单元格类型 0 empty,1 string, 2 number, 3 datetime, 4 boolean, 5 error # xf 扩展格式化 xf = 0 row_num = 1 col_num = 1 cell_type = 1 sheet1.put_cell(row_num, col_num, cell_type, u'hello word', xf) return data except Exception, e: print str(e)
xlwt则支持写出2003版xls的包,具体操做如示例以下:code
import xlwt def write_excel2(): # 设置通用样式变量 style_header = xlwt.easyxf(u'font: name 微软雅黑, color-index black, bold on,height 240') workbook = xlwt.Workbook() worksheet = workbook.add_sheet(u'sheet1') # 设置第一列到单元格的宽度 worksheet.col(0).width = 256 * 35 # 设置该工做表单元格的宽度 c = 1 while c < 300: worksheet.col(c).width = 256 * 20 c += 1 col = 0 # 循环设置表头值 header = [u'姓名', u'性别', u'年龄'] for h in header: worksheet.write(0, col, h, style_header) col += 1 # 保存到本地目录,mac上后缀xlsx会报错,xls正常。 workbook.save('test.xls')
另外:xlsxwriter支持2007版的写出对象
各位大神有需补充或更正还望指教。😁blog