exceltool.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #-*-coding:utf-8 -*-
  2. import StringIO
  3. import xlwt
  4. import xlrd
  5. class ExcelTool(object):
  6. """
  7. """
  8. def __init__(self,filename=None):
  9. self.filename = filename
  10. self.book = xlwt.Workbook(encoding="utf-8",style_compression=0)
  11. self.rbook = xlrd.open_workbook(filename)
  12. self.sheet = self.rbook.sheet_by_index(0)
  13. def save_data(self,sheet,header,data):
  14. """
  15. """
  16. sheet = self.book.add_sheet(sheet,cell_overwrite_ok=True)
  17. #添加表头
  18. for i in range(0,len(header)):
  19. sheet.write(0,i,header[i])
  20. #添加数据
  21. style = xlwt.easyxf('align: wrap on')
  22. for i in range(0,len(data)):
  23. for j in range(0,len(data[i])):
  24. sheet.write(i+1,j,data[i][j],style)
  25. output = StringIO.StringIO()
  26. self.book.save(output)
  27. self.book.save("/tmp/demo.xls")
  28. return output.getvalue()
  29. def get_data(self):
  30. """
  31. """
  32. dct = {}
  33. data = []
  34. for i in range(1, self.sheet.nrows):
  35. row_list = self.sheet.row_values(i)
  36. data.append(row_list)
  37. return data
  38. #if __name__ == "__main__":
  39. # mexcel = ExcelTool("/tmp/demo.xls")
  40. # mexcel.save_data(u"测试",[u"事件类型"],[[u"漏洞事件"]])