1 # coding=utf-8
2
3 print "----------------分割线 xlrd--------------------"
4 import xlrd
5 #打开一个wordbook
6 book = xlrd.open_workbook("excel_1.xls")
7
8 worksheets = book.sheet_names() #获取所有sheet名称
9 # print 'workshets:',worksheets
10 # sheet = book.sheets() #获得全部sheet
11 # for item in sheet:
12 # print item.name
13
14 sheet = book.sheet_by_index(0) #通过下标切换sheet
15 # sheet = book.sheet_by_name('wsf') #通过sheet的名称切换
16
17 rows = sheet.nrows #行数
18 cols = sheet.ncols #列数
19
20 r_data = sheet.row(1) #获取指定行数据,返回list
21 # print r_data #[text:u'LAD', text:u'V100R001C01B001', text:u'SDFA V100R001C01B001', empty:u'']
22 c_data = sheet.col(0) #获取指定列数据,返回list
23 # print c_data #[text:u'product name', text:u'LAD', text:u'DSF', text:u'ASD', text:u'EFSW']
24 ce_data = sheet.cell(1,1).value #获取指定单元格的数据
25 # print ce_data
26
27 #获取sheet中的所有行数据
28 for row in xrange(rows):
29 r_data = sheet.row_values(row)
30 print r_data
31 #获取sheet中的所有列数据
32 for col in xrange(cols):
33 c_data = sheet.col_values(col)
34 print c_data
35 #获取sheet中所有单元格的数据
36 for row in xrange(rows):
37 for col in xrange(cols):
38 ce_data = sheet.cell_value(row, col)
39 print "cell:",ce_data
40
41 print "----------------分割线 xlwt--------------------"
42
43 import xlwt
44 '''xlwt不能操作已存在的excel,新建excel写入数据'''
45 #创建workbook对象
46 workbook = xlwt.Workbook()
47 #创建sheet对象,新建sheet
48 sheet1 = workbook.add_sheet('xlwt', cell_overwrite_ok=True)
49 sheet2 = workbook.add_sheet('xled', cell_overwrite_ok=True)
50
51 #---设置excel样式---
52 #初始化样式
53 style = xlwt.XFStyle()
54 #创建字体样式
55 font = xlwt.Font()
56 font.name = 'Times New Roman'
57 font.bold = True #加粗
58 #设置字体
59 style.font = font
60 #使用样式写入数据
61 # sheet.write(0, 1, "xxxxx", style)
62
63 #向sheet中写入数据
64 sheet1.write(0, 0, 'nihao xlwt', style)
65 sheet1.write(0, 1, 'nimei')
66 sheet2.write(0, 0, 'nihao xlrd', style)
67 sheet2.write(0, 1, 'nimei')
68 #保存excel文件,有同名的直接覆盖
69 workbook.save('xlwt.xls')
70 print 'the excel save success'
71
72 print "----------------分割线 xlutils--------------------"
73
74 from xlutils import copy
75 '''xlutils向excel文件中写入数据,与xlrd结合使用'''
76 #打开excel文件
77 rb = xlrd.open_workbook("xlwt.xls")
78 wb = copy.copy(rb) #copy副本进行写数据
79 #获取sheet对象,不能通过rb进行sheet的获取,xlrd没有write()方法
80 ws = wb.get_sheet(0)
81 ws.write(0, 0, '666666666')
82 print "write success"
83 #必须要保存,保存为同名文件,未修改的部分保留
84 wb.save('xlwt.xls')
85
86 print "----------------分割线 pyExcelerator read--------------------"
87
88 import pyExcelerator as pyExcel
89 '''读excel文件数据,解析excel文件,返回整个excel的数据,返回list'''
90 ##parse_xls返回一个列表,每项都是一个sheet页的数据。
91 #每项是一个二元组(表名,单元格数据)。其中单元格数据为一个字典,
92 #键值就是单元格的索引(i,j)。如果某个单元格无数据,那么就不存在这个值
93 sheets = pyExcel.parse_xls('xlwt.xls')
94 print sheets, type(sheets)
95
96 print "----------------分割线 pyExcelerator write--------------------"
97
98 '''pyExcelerator write与xlwt类似,都是新建excel来写入数据'''
99 wb = pyExcel.Workbook()
100 ws = wb.add_sheet(u'第一页')
101 #设置样式
102 style = pyExcel.XFStyle()
103 font = pyExcel.Font()
104 font.name = 'Times New Roamn'
105 font.bold = True
106 style.font = font
107 #写入数据,使用样式
108 ws.write(0, 0, u'你好', style)
109 print "write success"
110 wb.save('pyExcel.xls')