示例#1
0
def write_excel(list_param, excel_path):
    rb = xlrd.open_workbook(excel_path, formatting_info=True)
    wb = xl_copy(rb)
    # sheet_name=str(datetime.datetime.now().strftime('%Y-%m-%d__%H-%M-%S'))
    sheet_name = str(
        datetime.datetime.fromtimestamp(
            list_param[1][5]).strftime('%Y-%m-%d__%H-%M-%S'))
    ws = wb.add_sheet(sheet_name)
    ws_row = 0
    for i in list_param:
        for j in range(6):
            if ws_row > 0:
                if j == 0:
                    try:
                        i[j] = dict_item[str(i[j])]
                    except:
                        with open(r'D:\TSM_Export_2\tmp_data.txt', 'a') as f:
                            print(i[j], file=f)

                if j in range(1, 3):
                    i[j] = i[j] / 10000
            if ws_row > 0 and j == 5:
                i[j] = str(datetime.datetime.fromtimestamp(i[j]))

            ws.write(ws_row, j, i[j])
        ws_row += 1
    wb.save(excel_path)
示例#2
0
def sss(a, url):
    html = requests.post(url)
    # info = json.loads(eval("u" + "\'" + html.text + "\'"))
    info = json.loads(html.text)
    rb = xlrd.open_workbook('all.xls', formatting_info=True)
    # make a copy of it
    wb = xl_copy(rb)
    sheet = wb.add_sheet(a)  # 在打开的excel中添加一个sheet
    n = 0

    for i in range(len(info['more_city'])):
        sheet.write(i, 0, info['more_city'][i]['province'])
        sheet.write(i, 1, info['more_city'][i]['num'])
        n += 1
    n += 1

    for i in info['content']:
        sheet.write(n, 0, i['name'])
        sheet.write(n, 1, i['num'])
        n += 1
    n += 1
    for i in range(len(info['more_city'])):
        print(info['more_city'][i]['province'], info['more_city'][i]['num'])
        sheet.write(n, 0, info['more_city'][i]['province'])
        sheet.write(n, 1, info['more_city'][i]['num'])
        n += 1
        for j in info['more_city'][i]['city']:
            sheet.write(n, 0, j['name'])
            sheet.write(n, 1, j['num'])
            n += 1
            print('   ', end='')
            print(j['name'], j['num'])
        n += 1
        print('\n')
    wb.save('all.xls')
示例#3
0
def write_excel_issue(sheet_name, *infos):
    cur_day = datetime.datetime.now().strftime('%Y%m%d')
    excel_file_name = 'issues_count_%s.xls' % cur_day
    if os.path.exists(excel_file_name):
        wb = xlrd.open_workbook(excel_file_name)
        excel = xl_copy(wb)
    else:
        excel = xlwt.Workbook(encoding='utf-8')
    sheet = excel.add_sheet(sheet_name)
    item_list = [
        "版本", "No.", "类型", "名称", "提交人", "解决人", "回归人", "更新时间", "回归结果",
        "是否ReOpen", "标签"
    ]
    for i in range(len(item_list)):
        sheet.write(0, i, item_list[i])
    for i in range(len(infos)):
        value_list = [
            infos[i]['milestone'], infos[i]['issue_id'], infos[i]['type'],
            infos[i]['title'], infos[i]['author'], infos[i]['assignee'],
            infos[i]['author'], infos[i]['updated'], infos[i]['result'],
            infos[i]['ReOpen'], infos[i]['lables']
        ]
        for j in range(len(value_list)):
            sheet.write(i + 1, j, value_list[j])
    excel.save(excel_file_name)
示例#4
0
 def write_testplan(self, sheet_name, *infos):
     if os.path.exists(self.file_name):
         wb = xlrd.open_workbook(self.file_name)
         excel = xl_copy(wb)
     else:
         excel = xlwt.Workbook(encoding='utf-8')
     sheet = excel.add_sheet(sheet_name)
     item_list = ["版本", "任务名称", "优先级", "计划开始时间", "计划结束时间", "实际开始时间", "时间结束时间", "完成进度","执行人员", "备注"]
     for i in range(len(item_list)):
         sheet.write(0, i, item_list[i])
     for i in range(len(infos)):
         # print("infos[%s]: %s"%(i, infos[i]))
         if infos[i]['p_start_time'] is not None:
             p_start_time = infos[i]['p_start_time'].strftime("%Y/%m/%d")
         else:
             p_start_time = ""
         if infos[i]['a_start_time'] is not None:
             a_start_time = infos[i]['a_start_time'].strftime("%Y/%m/%d")
         else:
             a_start_time = ""
         if infos[i]['p_finish_time'] is not None:
            p_finish_time = infos[i]['p_finish_time'].strftime("%Y/%m/%d")
         else:
             p_finish_time = ""
         if infos[i]['a_finish_time'] is not None:
             a_finish_time = infos[i]['a_finish_time'].strftime("%Y/%m/%d")
         else:
             a_finish_time = ""
         value_list = [infos[i]['milestone'], infos[i]['task_id'], infos[i]['priority'], p_start_time, p_finish_time, a_start_time, a_finish_time, infos[i]['progress'], infos[i]['executor'], infos[i]['remark']]
         for j in range(len(value_list)):
             sheet.write(i+1, j, value_list[j])
     excel.save(self.file_name)
     return True
def GetXLSBookWithNewSheetAtEnd(path, sheetName = None):
	isNew = not isfile(path)
	book = xlwt.Workbook(encoding="utf-8") if isNew else xl_copy(xlrd.open_workbook(path, formatting_info=True))
	if sheetName is None and not isNew: sheetName = IncrementString(book.get_sheet(-1).name)
	if sheetName is None: sheetName = "Sheet 1"
	book.add_sheet(sheetName)
	return book
示例#6
0
 def addSheet(self, filename, sheetName):
     rb = xlrd.open_workbook(filename, formatting_info=True)
     # make a copy of it
     from xlutils.copy import copy as xl_copy
     if sheetName not in rb.sheet_names():
         wb = xl_copy(rb)
         Sheet1 = wb.add_sheet(sheetName)
         wb.save(filename)
示例#7
0
def create_sheet(sheet_name):
    # Insere regras e headers da planilha
    book1 = xlrd.open_workbook('base.xlsx', formatting_info=True)
    book = xl_copy(book1)
    sheet = book.add_sheet(sheet_name)
    #print(book1.sheet_names())
    #fill_sheet(book1)
    fill_sheet(sheet, book)
示例#8
0
def write_excel_count(sheet_name, **info):
    cur_day = datetime.datetime.now().strftime('%Y%m%d')
    excel_file_name = 'issues_count_%s.xls' % cur_day
    #初始化一个excel
    # print(sheet_name)
    if os.path.exists(excel_file_name):
        wb = xlrd.open_workbook(excel_file_name)
        excel = xl_copy(wb)
    else:
        excel = xlwt.Workbook(encoding='utf-8')
    #新建一个sheet
    sheet = excel.add_sheet(sheet_name)
    #设置样式
    # style = xlwt.XFStyle()#初始化样式
    # font = xlwt.Font()#创建字体
    # font.name = u'微软雅黑' #字体类型
    # font.colour_index = 6   #字体颜色
    # font.underline = True #下划线
    # font.italic = True #斜体
    # font.bold= True
    # font.height = 600    #字体大小   200等于excel字体大小中的10
    # style.font = font   #设定样式
    # pattern = xlwt.Pattern()  # Create the pattern
    # pattern.pattern = xlwt.Pattern.SOLID_PATTERN  # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12
    # pattern.pattern_fore_colour = 4  # May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...
    # # sheet.col(0).width = 300 #设置某列的单元格宽度
    # print(info)
    p_keys = list(info.keys())
    # print(p_keys)
    # print(type(p_keys))
    # print("p_keys: %s" %p_keys)
    c_keys = []
    for p_key in p_keys:
        c_keys = c_keys + list(info[p_key].keys())
    c_keys = list(set(c_keys))
    # c_keys = list(info[p_keys[0]].keys())
    # print("c_keys: %s" %c_keys)
    # print(len(c_keys))
    for p_key in p_keys:
        for c_key in c_keys:
            if not c_key in info[p_key]:
                info[p_key][c_key] = ""
    primary_type = sheet_name.split("_")[1]
    sheet.write(0, 0, "%s\\lable" % primary_type)
    for i in range(len(p_keys)):
        sheet.write(i + 1, 0, p_keys[i])

    for j in range(len(c_keys)):
        #print(c_keys[j])
        sheet.write(0, j + 1, c_keys[j])

    for i in range(len(p_keys)):
        # c_keys = list(info[p_keys[i]].keys())
        for j in range(len(c_keys)):
            sheet.write(i + 1, j + 1, info[p_keys[i]][c_keys[j]])
    #sheet.write(1,0,'test',style)   #写入带字体样式的内容
    excel.save(excel_file_name)
示例#9
0
    def addXlsSheet(self, xlsfile, addSheet):
        # open existing workbook
        rb = xlrd.open_workbook(xlsfile, formatting_info=True)
        # make a copy of it
        wb = xl_copy(rb)
        # add sheet to workbook with existing sheets

        Sheet1 = wb.add_sheet(addSheet)
        wb.save(xlsfile)
示例#10
0
 def get_excel(self):
     # 添加新sheet
     rb = self.open_workbook()
     wb = xl_copy(rb)
     [
         self.add_new_sheet(name, wb) for name in self.sheet_names
         if name not in rb.sheet_names()
     ]
     wb.save(self.base_path)
     return wb
示例#11
0
def insert_sheet(category, timestamp, value, entity):
    book1 = xlrd.open_workbook('base.xlsx', formatting_info=True)
    #copia formatacao da planilha
    book = xl_copy(book1)
    sheet = get_sheet_by_name(book)
    #insere entidade numa coluna fixa
    setOutCell(sheet, 0, get_entity_index(entity), entity)
    #insere valor
    setOutCell(sheet, timestamp.month, get_entity_index(entity), value)
    fill_sheet_totals(sheet)
    book.save("base.xlsx")
示例#12
0
def makeQuota(n):
    rb = xlrd.open_workbook(quota, formatting_info=True)
    wb = xl_copy(rb)
    sheetName = n + "_Maxdiff"
    # add_sheet is used to create sheet.
    sheet1 = wb.add_sheet(sheetName)
    sheet1.write(0, 0, "#=" + sheetName)
    for x in range(tot):
        sheet1.write(x + 1, 0, 'ver_' + str(x + 1))
        sheet1.write(x + 1, 1, 'inf')
    wb.save(quota)
示例#13
0
def formast(ADD):
    all_file = os_file.open(self=ADD, all=1)
    try:
        for per_file in all_file:
            if per_file[-4:] == ".xls":
                rb = xlrd.open_workbook(filename=per_file)
                wb = xl_copy(rb)
                wb.save(per_file + "x")
                logging.info(per_file + "--转换成功")
                os.remove(per_file)
    except Exception as e:
        raise e
示例#14
0
 def write_to_excel(self, file_path, sheet_id, row, col, value):
     """
     写入excel
     """
     work_book = xlrd.open_workbook(file_path, formatting_info=False)
     # 先通过xlutils.copy下copy复制Excel
     write_to_work = xl_copy(work_book)
     # 通过sheet_by_index没有write方法 而get_sheet有write方法
     sheet_data = write_to_work.get_sheet(sheet_id)
     sheet_data.write(row, col, str(value))
     # 这里要注意保存 可是会将原来的Excel覆盖 样式消失
     write_to_work.save(file_path)
示例#15
0
def add_sheet(os_path,file_name,sheet_name,start_mun,insert_info):
    wb=xlrd.open_workbook(os_path+file_name+".xls")
    work_book = xl_copy(wb)
    sheet=work_book.add_sheet(sheet_name) #sheet名称
    #写入title数据
    for i in range(int(start_mun)-1,len(insert_info[0])):
        sheet.write(0,i,insert_info[0][i])
    #写入数据
        for j in range(int(start_mun),len(insert_info)):
            sheet.write(j,i,insert_info[j][insert_info[0][i]])
    #数据保存到excel   
    work_book.save(os_path+file_name+".xls")
    print("数据写入Excel-{}:sheet-{},执行完成!~".format(file_name,sheet_name))
示例#16
0
 def add_row_data(self, sheet_name, info_list):
     table_obj = xlrd.open_workbook(self.file_name)
     sheet = table_obj.sheet_by_name(sheet_name)
     nrows = sheet.nrows
     new_wb = xl_copy(table_obj)  # 将原有的Excel,拷贝一个新的副本
     status, sheet_index = self.get_sheet_index(sheet_name)
     if not status:
         return False, sheet_index
     new_sheet = new_wb.get_sheet(sheet_index) # 重新在新的Excel中获取
     for i in range(len(info_list)):
         new_sheet.write(nrows,i,info_list[i])
     new_wb.save(self.file_name)
     return True, 'Add %s Success……' %info_list[0]
示例#17
0
def output(filename, sheet, list0, list1, list2, list3, list4, list5):
    if os.path.isfile(filename):
        rb = open_workbook(filename, formatting_info=True)
        book = xl_copy(rb)
        sh = book.add_sheet(sheet)

    else:
        book = xlwt.Workbook()
        sh = book.add_sheet(sheet)

    col0_name = 't'
    col1_name = 'Eha(t)'
    col2_name = 'Ehb(t)'
    col3_name = 'Dis_a(t)'
    col4_name = 'Dis_b(t)'
    col5_name = 'Die(t)'
    col6_name = 'Ehe(t)'

    sh.write(0, 0, col0_name)
    sh.write(0, 1, col1_name)
    sh.write(0, 2, col2_name)
    sh.write(0, 3, col3_name)
    sh.write(0, 4, col4_name)
    sh.write(0, 5, col5_name)
    sh.write(0, 6, col6_name)

    for m, e0 in enumerate(list0):
        sh.write(m + 1, 0, e0)

    for m, e1 in enumerate(list1):
        sh.write(m + 1, 1, e1)

    for m, e2 in enumerate(list2):
        sh.write(m + 1, 2, e2)

    for m, e3 in enumerate(list3):
        sh.write(m + 1, 3, e3)

    for m, e4 in enumerate(list4):
        sh.write(m + 1, 4, e4)

    for m, e5 in enumerate(list5):
        sh.write(m + 1, 5, e5)

    for m in range(0, len(list1)):
        sh.write(
            m + 1, 6,
            xlwt.Formula("'" + sheet + "'!B" + str(m + 2) + "+'" + sheet +
                         "'!C" + str(m + 2)))

    book.save(filename)
示例#18
0
    def clean_file(self, file_path):
        """Clean file using xlrd."""
        result = "Файл очищен!"

        try:
            rb = xlrd.open_workbook(file_path)
        except Exception as e:
            print(e)
            result = "Файл не может быть очищен! :"
            result += str(e)
        else:
            wb = xl_copy(rb)
            wb.save(file_path)
        return result
示例#19
0
def output(filename, wb, years, NPV, period):
    new_wb = xl_copy(wb)
    sheet1 = new_wb.add_sheet('Results')

    sheet1.write(0, 0, 'Year')
    sheet1.write(0, 1, 'NPV')
    sheet1.write(0, 2, 'Payback')

    for i in range(0, len(years)):
        sheet1.write(i + 1, 0, years[i])
        sheet1.write(i + 1, 1, NPV[i])
        sheet1.write(i + 1, 2, period[i])

    new_wb.save(filename)
示例#20
0
def csv_to_xlsx():
    with open(csvName, 'r', encoding='utf-8') as f:
        read = csv.reader(f)
        rb = xlrd.open_workbook(workbookPath)
        wb = xl_copy(rb)
        sheet = wb.add_sheet(sheetName)  # 创建一个sheet表格
        l = 0
        for line in read:
            #print(line)
            r = 0
            for i in line:
                # print(i)
                sheet.write(l, r, i)  # 一个一个将单元格数据写入
                r = r + 1
            l = l + 1
        wb.save('PSCloud0830BUG优先级列表.xls')  # 保存Excel
示例#21
0
def New_Sheet(ADD, sheetname):
    """
    :param add: 地址
    :param sheetname: 工作页的命名
    :return:
    """
    all_file = os_file.open(self=ADD, all=1)
    for per_file in all_file:
        print("分析结果", per_file)

        rb = xlrd.open_workbook(filename=per_file)
        wb = xl_copy(rb)
        wb.add_sheet(sheetname=sheetname)
        wb.save(per_file + "x")

        print('succeed')
示例#22
0
def get_workbook(file_path):
    """为了向同一个wb对象里添加sheet,
    另一种做法更tricky:打开生成的host_info_xxxx.xls, xlutil.copy 一份,然后往里加入新的sheet
    http://stackoverflow.com/questions/38081658/adding-a-sheet-to-an-existing-excel-worksheet-without-deleting-other-sheet
    这里为了简单,但是会耦合严重。
    """
    if not os.path.exists(file_path):
        # 路径不存在,重新创建一个
        return xlwt.Workbook(encoding="utf-8")
    else:
        try:
            rb = xlrd.open_workbook(file_path, formatting_info=True)
            return xl_copy(rb)
        except Exception as ex:
            # 如果读取失败需要记录
            LOGGER.exception("打开excel文件[%s]失败,尝试重新创建全新的. Exception: %s",
                             file_path, ex)
示例#23
0
文件: weekly.py 项目: yeleman/snisi
def nutrition_weekly_as_xls(report):
    """ Export les données d'un rapport en xls """

    template_path = os.path.join(get_domain().module_path,
                                 'fixtures', 'template-nutrition-weekly.xls')

    template = open_workbook(template_path, formatting_info=True)
    wb = xl_copy(template)
    sheet = wb.get_sheet(0)
    del(template)

    xls_update_value_only(sheet, 1, 2,
                          report.entity.display_short_health_hierarchy())
    xls_update_value_only(sheet, 1, 4, report.entity.slug)

    xls_update_value_only(sheet, 5, 2, report.period.casted().strid())
    xls_update_value_only(sheet, 5, 4,
                          report.created_by.get_title_full_name())

    xls_update_value_only(sheet, 1, 7, report.urenam_screening)
    xls_update_value_only(sheet, 3, 7, report.urenam_cases)
    xls_update_value_only(sheet, 5, 7, report.urenam_deaths)
    sheet.write(7, 7, xlwt.Formula("SUM(B{r}:F{r})".format(r=8)),
                style_value_sum)

    xls_update_value_only(sheet, 1, 8, report.urenas_screening)
    xls_update_value_only(sheet, 3, 8, report.urenas_cases)
    xls_update_value_only(sheet, 5, 8, report.urenas_deaths)
    sheet.write(8, 7, xlwt.Formula("SUM(B{r}:F{r})".format(r=9)),
                style_value_sum)

    xls_update_value_only(sheet, 1, 9, report.ureni_screening)
    xls_update_value_only(sheet, 3, 9, report.ureni_cases)
    xls_update_value_only(sheet, 5, 9, report.ureni_deaths)
    sheet.write(9, 7, xlwt.Formula("SUM(B{r}:F{r})".format(r=10)),
                style_value_sum)

    sheet.write(10, 1, xlwt.Formula("SUM(B8:C10)"), style_value_sum)
    sheet.write(10, 3, xlwt.Formula("SUM(D8:E10)"), style_value_sum)
    sheet.write(10, 5, xlwt.Formula("SUM(F8:G10)"), style_value_sum)
    sheet.write(10, 7, xlwt.Formula("SUM(H8:I10)"), style_value_sum)

    stream = StringIO.StringIO()
    wb.save(stream)

    return stream
示例#24
0
def build_waybill():
    ADD = "E:/HUMEI/Excel_shunxu/检测1/"
    ADD_none = r"E:\HUMEI\Excel_shunxu\空表\none.xls"
    ADD_waybill = "E:/HUMEI/Excel_shunxu/顺序模板/waybill_0.xlsx"

    all_file = os_file.open(self=ADD, all=1)
    #print("正在分析", all_file)
    row_waybill = OpenExcel.open_excel_row(ADD_waybill, sheet=0, row=0)
    #print("row_waybill", row_waybill)
    logging.info("生成运单OK")

    p = 0
    for per_file in all_file:

        #print("waybill.py", p, per_file)

        # workbook = xlrd.open_workbook(filename=per_file)
        workbook_none = xlrd.open_workbook(filename=ADD_none)
        wb = xl_copy(workbook_none)
        # wb.add_sheet("waybill")

        try:
            s = wb.get_sheet(0)


        except:
            print("错误:请新建Sheet")

        sheet_0 = OpenExcel.open_excel_sheet(per_file, sheet=0)
        row_1 = OpenExcel.open_excel_row(per_file, sheet=0, row=0)
        #print(row_1)

        for i in range(23):

            a = 0
            for x in RowData.row_name(row_waybill[i], row_1, sheet_0):
                s.write(a, i, x)
                a = a + 1
        new_name = re.findall("/检测1/(.+)_20", per_file)
        #print(new_name)
        nowTime = datetime.datetime.now().strftime('%Y-%m-%d_%H:%M:%S')
        #print(nowTime)
        p = p + 1
        wb.save("E:/HUMEI/Excel_shunxu/检测3/" + "%s waybill_%s.xls" % (new_name[0], p))
        # wb.save("E:/HUMEI/Excel_shunxu/检测3/" + "%s.xls" % new_name)
        wb.save("E:/HUMEI/Excel_shunxu/转发1/" + "%s waybill_%s.xls" % (new_name[0], p))
示例#25
0
 def write_issue(self, sheet_name, *infos):
     if os.path.exists(self.file_name):
         wb = xlrd.open_workbook(self.file_name)
         excel = xl_copy(wb)
     else:
         excel = xlwt.Workbook(encoding='utf-8')
     sheet = excel.add_sheet(sheet_name)
     item_list = ["版本", "No.", "类型", "名称", "提交人", "解决人", "回归人", "更新时间", "回归结果", "是否ReOpen", "标签"]
     for i in range(len(item_list)):
         sheet.write(0, i, item_list[i])
     for i in range(len(infos)):
         # print("infos[%s]: %s"%(i, infos[i]))
         value_list = [infos[i]['milestone'], infos[i]['issue_id'], infos[i]['issue_type'], infos[i]['name'], infos[i]['author'], infos[i]['assignees'], infos[i]['test'], infos[i]['updated'], infos[i]['result'], infos[i]['reopen'], infos[i]['tag']]
         for j in range(len(value_list)):
             sheet.write(i+1, j, value_list[j])
     excel.save(self.file_name)
     return True
示例#26
0
    def write_to_excel(self):
        wb = open_workbook("Pricing.xls")
        # Create new wb with same data
        wb_copy = xl_copy(wb)
        # Add new sheet on new wb
        ws = wb_copy.add_sheet(
            self.time.strftime("%m" + "." + "%d" + "." + "%Y"))
        # Starts from (1,0), then shifts down by column, then shifts row
        i = 2
        ws.write(0, 0, self.time.strftime("%X"))
        ws.write(1, 0, "Stock Name")
        ws.write(1, 1, "Stock Price")
        for name, price in zip(self.names, self.prices):
            ws.write(i, 0, name)
            ws.write(i, 1, price)
            i += 1

        wb_copy.save('Pricing.xls')
示例#27
0
def sss(result):
    rb = xlrd.open_workbook('all.xls', formatting_info=True)
    # make a copy of it
    wb = xl_copy(rb)
    sheet = wb.add_sheet('全家便利店')
    n = 0
    for i in result2:
        sheet.write(n, 0, i)
        n += 1
    n = 0
    for i in result:
        parms = {'cid': i}
        html = requests.post(url, parms)
        info = json.loads(html.text)
        # print(info)
        sheet.write(n, 1, len(info['mapmsg']))
        n += 1

    wb.save('all.xls')
示例#28
0
 def delete_all_case(self, sheet_name):
     table_obj = xlrd.open_workbook(self.file_name)
     sheet = table_obj.sheet_by_name(sheet_name)
     read_all = self.read_sheet_all_content(sheet_name)
     length = len(read_all)
     if length > 6:
         for i in range(length-1, 5, -1):
             read_all.pop(i)
     status, sheet_index = self.get_sheet_index(sheet_name)
     if not status:
         return False, sheet_index
     new_wb = xl_copy(table_obj)
     new_sheet = new_wb.get_sheet(sheet_index)
     # print("read_all: ", read_all)
     for m in range(len(read_all)):
         for n in range(len(read_all[m])):
             new_sheet.write(m, n, read_all[m][n])
     new_wb.save(self.file_name)
     return True, "Delete Data Success …… "
示例#29
0
 def write_case(self, sheet_name, *infos):
     if os.path.exists(self.file_name):
         wb = xlrd.open_workbook(self.file_name)
         excel = xl_copy(wb)
     else:
         excel = xlwt.Workbook(encoding='utf-8')
         sheet_sum_up = excel.add_sheet(self.sum_up_sheet)
         items_sum_up = ["模块名称", "用例总数", "未合入/未测试", "PASS数", "FAIL数", "PASS率", "备注"]
         for i in range(len(items_sum_up)):
             sheet_sum_up.write(0, i, items_sum_up[i])
     sheet = excel.add_sheet(sheet_name)
     item_list = ["用例编号", "用例名称", "测试类型", "优先级", "预置条件", "测试范围", "测试步骤",  "预期结果", "自动化", "关联API", "功能开发者", "用例设计者", "测试执行者", "测试日期", "测试结果", "备注"]
     for i in range(len(item_list)):
         sheet.write(0, i, item_list[i])
     for i in range(len(infos)):
         # print("infos[%s]: %s"%(i, infos[i]))
         value_list = [infos[i]['case_number'], infos[i]['case_name'], infos[i]['case_type'], infos[i]['priority'], infos[i]['pre_condition'], infos[i]['test_range'], infos[i]['test_steps'], infos[i]['expect_result'], infos[i]['auto'], str(infos[i]['case_id']), infos[i]['fun_developer'], infos[i]['case_designer'],infos[i]['case_executor'],str(infos[i]['test_time']),infos[i]['test_result'],infos[i]['remark']]
         for j in range(len(value_list)):
             sheet.write(i+1, j, value_list[j])
     excel.save(self.file_name)
     return True
示例#30
0
def csv_to_xlsx():
    with open(csvName, 'r', encoding='utf-8') as f:
        read = csv.reader(f)
        rb = xlrd.open_workbook(workbookPath)
        if sheetName in rb.sheet_names():
            print('该Sheet名称已存在,请换名字!')
            return False
        else:
            print(rb.sheet_names())
            wb = xl_copy(rb)
            sheet = wb.add_sheet(sheetName)  # 创建一个sheet表格
            l = 0
            for line in read:
                r = 0
                for i in line:
                    sheet.write(l, r, i)  # 一个一个将单元格数据写入
                    r = r + 1
                l = l + 1
            print('CSV转换Excel成功!')
            wb.save(workbookPath)  # 保存Excel
            return True
示例#31
0
 def modify_excel_row(self, sheet_name, case_info):
     table_obj = xlrd.open_workbook(self.file_name)
     sheet = table_obj.sheet_by_name(sheet_name)
     col_val=sheet.col_values(0)#第一列的值
     count = 0
     for item in col_val:
         if item == case_info[0]:
             row_index = count
             break
         count = count + 1
         if count == len(col_val):
             return False, "Not Fount %s Case, Please Check it ~ " %case_info[0]
     status, sheet_index = self.get_sheet_index(sheet_name)
     if not status:
         return False, sheet_index
     new_wb = xl_copy(table_obj)
     new_sheet = new_wb.get_sheet(sheet_index)
     for i in range(len(case_info)):
         new_sheet.write(row_index, i, case_info[i])
     new_wb.save(self.file_name)
     return True, "Modify %s Success……" %case_info[0]
示例#32
0
文件: monthly.py 项目: yeleman/snisi
def nutrition_monthly_as_xls(report):
    """ Export les données d'un rapport en xls """

    template_path = os.path.join(get_domain().module_path,
                                 'fixtures', 'template-nutrition.xls')

    template = open_workbook(template_path, formatting_info=True)
    copy_week_b = xl_copy(template)
    sheet_STOCKS = copy_week_b.get_sheet(0)
    sheet_STOCKS.portrait = False
    sheet_URENAMURENAS = copy_week_b.get_sheet(1)
    sheet_URENAMURENAS.portrait = False
    sheet_URENI = copy_week_b.get_sheet(2)
    sheet_URENI.portrait = False
    del(template)

    entity = report.entity.casted()

    meta_map = [
        (sheet_STOCKS, 1, 5),
        (sheet_URENAMURENAS, 5, 14),
        (sheet_URENI, 5, 14),
    ]

    for sheet, colA, colB in meta_map:
        xls_update_value_only(sheet, colB, 2, report.period.middle().month)
        xls_update_value_only(sheet, colB, 3, report.period.middle().year)
        xls_update_value_only(sheet, colA, 3,
                              report.entity.display_short_health_hierarchy())
        xls_update_value_only(sheet, colA, 4, report.entity.slug)
        xls_update_value_only(sheet, colB, 4,
                              report.created_by.get_title_full_name())

    # STOCKS
    xls_update_value_only(sheet_STOCKS, 3, 7,
                          report.stocks_report.plumpy_nut_initial)
    xls_update_value_only(sheet_STOCKS, 5, 7,
                          report.stocks_report.plumpy_nut_received)
    xls_update_value_only(sheet_STOCKS, 7, 7,
                          report.stocks_report.plumpy_nut_used)
    xls_update_value_only(sheet_STOCKS, 9, 7,
                          report.stocks_report.plumpy_nut_lost)
    xls_update_value_only(sheet_STOCKS, 11, 7,
                          report.stocks_report.plumpy_nut_balance)
    xls_update_value_only(sheet_STOCKS, 3, 8,
                          report.stocks_report.milk_f75_initial)
    xls_update_value_only(sheet_STOCKS, 5, 8,
                          report.stocks_report.milk_f75_received)
    xls_update_value_only(sheet_STOCKS, 7, 8,
                          report.stocks_report.milk_f75_used)
    xls_update_value_only(sheet_STOCKS, 9, 8,
                          report.stocks_report.milk_f75_lost)
    xls_update_value_only(sheet_STOCKS, 11, 8,
                          report.stocks_report.milk_f75_balance)
    xls_update_value_only(sheet_STOCKS, 3, 9,
                          report.stocks_report.milk_f100_initial)
    xls_update_value_only(sheet_STOCKS, 5, 9,
                          report.stocks_report.milk_f100_received)
    xls_update_value_only(sheet_STOCKS, 7, 9,
                          report.stocks_report.milk_f100_used)
    xls_update_value_only(sheet_STOCKS, 9, 9,
                          report.stocks_report.milk_f100_lost)
    xls_update_value_only(sheet_STOCKS, 11, 9,
                          report.stocks_report.milk_f100_balance)
    xls_update_value_only(sheet_STOCKS, 3, 10,
                          report.stocks_report.resomal_initial)
    xls_update_value_only(sheet_STOCKS, 5, 10,
                          report.stocks_report.resomal_received)
    xls_update_value_only(sheet_STOCKS, 7, 10,
                          report.stocks_report.resomal_used)
    xls_update_value_only(sheet_STOCKS, 9, 10,
                          report.stocks_report.resomal_lost)
    xls_update_value_only(sheet_STOCKS, 11, 10,
                          report.stocks_report.resomal_balance)
    xls_update_value_only(sheet_STOCKS, 3, 11,
                          report.stocks_report.plumpy_sup_initial)
    xls_update_value_only(sheet_STOCKS, 5, 11,
                          report.stocks_report.plumpy_sup_received)
    xls_update_value_only(sheet_STOCKS, 7, 11,
                          report.stocks_report.plumpy_sup_used)
    xls_update_value_only(sheet_STOCKS, 9, 11,
                          report.stocks_report.plumpy_sup_lost)
    xls_update_value_only(sheet_STOCKS, 11, 11,
                          report.stocks_report.plumpy_sup_balance)
    xls_update_value_only(sheet_STOCKS, 3, 12,
                          report.stocks_report.supercereal_initial)
    xls_update_value_only(sheet_STOCKS, 5, 12,
                          report.stocks_report.supercereal_received)
    xls_update_value_only(sheet_STOCKS, 7, 12,
                          report.stocks_report.supercereal_used)
    xls_update_value_only(sheet_STOCKS, 9, 12,
                          report.stocks_report.supercereal_lost)
    xls_update_value_only(sheet_STOCKS, 11, 12,
                          report.stocks_report.supercereal_balance)
    xls_update_value_only(sheet_STOCKS, 3, 13,
                          report.stocks_report.supercereal_plus_initial)
    xls_update_value_only(sheet_STOCKS, 5, 13,
                          report.stocks_report.supercereal_plus_received)
    xls_update_value_only(sheet_STOCKS, 7, 13,
                          report.stocks_report.supercereal_plus_used)
    xls_update_value_only(sheet_STOCKS, 9, 13,
                          report.stocks_report.supercereal_plus_lost)
    xls_update_value_only(sheet_STOCKS, 11, 13,
                          report.stocks_report.supercereal_plus_balance)
    xls_update_value_only(sheet_STOCKS, 3, 14,
                          report.stocks_report.oil_initial)
    xls_update_value_only(sheet_STOCKS, 5, 14,
                          report.stocks_report.oil_received)
    xls_update_value_only(sheet_STOCKS, 7, 14,
                          report.stocks_report.oil_used)
    xls_update_value_only(sheet_STOCKS, 9, 14,
                          report.stocks_report.oil_lost)
    xls_update_value_only(sheet_STOCKS, 11, 14,
                          report.stocks_report.oil_balance)
    xls_update_value_only(sheet_STOCKS, 3, 15,
                          report.stocks_report.amoxycilline_125_vials_initial)
    xls_update_value_only(sheet_STOCKS, 5, 15,
                          report.stocks_report.amoxycilline_125_vials_received)
    xls_update_value_only(sheet_STOCKS, 7, 15,
                          report.stocks_report.amoxycilline_125_vials_used)
    xls_update_value_only(sheet_STOCKS, 9, 15,
                          report.stocks_report.amoxycilline_125_vials_lost)
    xls_update_value_only(sheet_STOCKS, 11, 15,
                          report.stocks_report.amoxycilline_125_vials_balance)
    xls_update_value_only(sheet_STOCKS, 3, 16,
                          report.stocks_report.amoxycilline_250_caps_initial)
    xls_update_value_only(sheet_STOCKS, 5, 16,
                          report.stocks_report.amoxycilline_250_caps_received)
    xls_update_value_only(sheet_STOCKS, 7, 16,
                          report.stocks_report.amoxycilline_250_caps_used)
    xls_update_value_only(sheet_STOCKS, 9, 16,
                          report.stocks_report.amoxycilline_250_caps_lost)
    xls_update_value_only(sheet_STOCKS, 11, 16,
                          report.stocks_report.amoxycilline_250_caps_balance)
    xls_update_value_only(sheet_STOCKS, 3, 17,
                          report.stocks_report.albendazole_400_initial)
    xls_update_value_only(sheet_STOCKS, 5, 17,
                          report.stocks_report.albendazole_400_received)
    xls_update_value_only(sheet_STOCKS, 7, 17,
                          report.stocks_report.albendazole_400_used)
    xls_update_value_only(sheet_STOCKS, 9, 17,
                          report.stocks_report.albendazole_400_lost)
    xls_update_value_only(sheet_STOCKS, 11, 17,
                          report.stocks_report.albendazole_400_balance)
    xls_update_value_only(sheet_STOCKS, 3, 18,
                          report.stocks_report.vita_100_injectable_initial)
    xls_update_value_only(sheet_STOCKS, 5, 18,
                          report.stocks_report.vita_100_injectable_received)
    xls_update_value_only(sheet_STOCKS, 7, 18,
                          report.stocks_report.vita_100_injectable_used)
    xls_update_value_only(sheet_STOCKS, 9, 18,
                          report.stocks_report.vita_100_injectable_lost)
    xls_update_value_only(sheet_STOCKS, 11, 18,
                          report.stocks_report.vita_100_injectable_balance)
    xls_update_value_only(sheet_STOCKS, 3, 19,
                          report.stocks_report.vita_200_injectable_initial)
    xls_update_value_only(sheet_STOCKS, 5, 19,
                          report.stocks_report.vita_200_injectable_received)
    xls_update_value_only(sheet_STOCKS, 7, 19,
                          report.stocks_report.vita_200_injectable_used)
    xls_update_value_only(sheet_STOCKS, 9, 19,
                          report.stocks_report.vita_200_injectable_lost)
    xls_update_value_only(sheet_STOCKS, 11, 19,
                          report.stocks_report.vita_200_injectable_balance)
    xls_update_value_only(sheet_STOCKS, 3, 20,
                          report.stocks_report.iron_folic_acid_initial)
    xls_update_value_only(sheet_STOCKS, 5, 20,
                          report.stocks_report.iron_folic_acid_received)
    xls_update_value_only(sheet_STOCKS, 7, 20,
                          report.stocks_report.iron_folic_acid_used)
    xls_update_value_only(sheet_STOCKS, 9, 20,
                          report.stocks_report.iron_folic_acid_lost)
    xls_update_value_only(sheet_STOCKS, 11, 20,
                          report.stocks_report.iron_folic_acid_balance)

    # URENAM
    if report.urenam_report:
        xls_update_value_only(sheet_URENAMURENAS, 1, 14,
                              report.urenam_report.u23o6_total_start)
        xls_update_value_only(sheet_URENAMURENAS, 2, 14,
                              report.urenam_report.u23o6_total_start_m)
        xls_update_value_only(sheet_URENAMURENAS, 3, 14,
                              report.urenam_report.u23o6_total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 4, 14,
                              report.urenam_report.u23o6_new_cases)
        xls_update_value_only(sheet_URENAMURENAS, 7, 14,
                              report.urenam_report.u23o6_returned)
        xls_update_value_only(sheet_URENAMURENAS, 10, 14,
                              report.urenam_report.u23o6_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 11, 14,
                              report.urenam_report.u23o6_total_in_m)
        xls_update_value_only(sheet_URENAMURENAS, 12, 14,
                              report.urenam_report.u23o6_total_in_f)
        xls_update_value_only(sheet_URENAMURENAS, 14, 14,
                              report.urenam_report.u23o6_grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 1, 29,
                              report.urenam_report.u23o6_healed)
        xls_update_value_only(sheet_URENAMURENAS, 3, 29,
                              report.urenam_report.u23o6_deceased)
        xls_update_value_only(sheet_URENAMURENAS, 5, 29,
                              report.urenam_report.u23o6_abandon)
        xls_update_value_only(sheet_URENAMURENAS, 7, 29,
                              report.urenam_report.u23o6_not_responding)
        xls_update_value_only(sheet_URENAMURENAS, 8, 29,
                              report.urenam_report.u23o6_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 10, 29,
                              report.urenam_report.u23o6_total_out_m)
        xls_update_value_only(sheet_URENAMURENAS, 11, 29,
                              report.urenam_report.u23o6_total_out_f)
        xls_update_value_only(sheet_URENAMURENAS, 12, 29,
                              report.urenam_report.u23o6_referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 29,
                              report.urenam_report.u23o6_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 29,
                              report.urenam_report.u23o6_total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 29,
                              report.urenam_report.u23o6_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 16, 29,
                              report.urenam_report.u23o6_total_end_m)
        xls_update_value_only(sheet_URENAMURENAS, 14, 29,
                              report.urenam_report.u23o6_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 29,
                              report.urenam_report.u23o6_total_end_f)
        xls_update_value_only(sheet_URENAMURENAS, 1, 15,
                              report.urenam_report.u59o23_total_start)
        xls_update_value_only(sheet_URENAMURENAS, 2, 15,
                              report.urenam_report.u59o23_total_start_m)
        xls_update_value_only(sheet_URENAMURENAS, 3, 15,
                              report.urenam_report.u59o23_total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 4, 15,
                              report.urenam_report.u59o23_new_cases)
        xls_update_value_only(sheet_URENAMURENAS, 7, 15,
                              report.urenam_report.u59o23_returned)
        xls_update_value_only(sheet_URENAMURENAS, 10, 15,
                              report.urenam_report.u59o23_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 11, 15,
                              report.urenam_report.u59o23_total_in_m)
        xls_update_value_only(sheet_URENAMURENAS, 12, 15,
                              report.urenam_report.u59o23_total_in_f)
        xls_update_value_only(sheet_URENAMURENAS, 14, 15,
                              report.urenam_report.u59o23_grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 1, 30,
                              report.urenam_report.u59o23_healed)
        xls_update_value_only(sheet_URENAMURENAS, 3, 30,
                              report.urenam_report.u59o23_deceased)
        xls_update_value_only(sheet_URENAMURENAS, 5, 30,
                              report.urenam_report.u59o23_abandon)
        xls_update_value_only(sheet_URENAMURENAS, 7, 30,
                              report.urenam_report.u59o23_not_responding)
        xls_update_value_only(sheet_URENAMURENAS, 8, 30,
                              report.urenam_report.u59o23_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 10, 30,
                              report.urenam_report.u59o23_total_out_m)
        xls_update_value_only(sheet_URENAMURENAS, 11, 30,
                              report.urenam_report.u59o23_total_out_f)
        xls_update_value_only(sheet_URENAMURENAS, 12, 30,
                              report.urenam_report.u59o23_referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 30,
                              report.urenam_report.u59o23_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 30,
                              report.urenam_report.u59o23_total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 30,
                              report.urenam_report.u59o23_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 16, 30,
                              report.urenam_report.u59o23_total_end_m)
        xls_update_value_only(sheet_URENAMURENAS, 14, 30,
                              report.urenam_report.u59o23_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 30,
                              report.urenam_report.u59o23_total_end_f)
        xls_update_value_only(sheet_URENAMURENAS, 1, 16,
                              report.urenam_report.o59_total_start)
        xls_update_value_only(sheet_URENAMURENAS, 2, 16,
                              report.urenam_report.o59_total_start_m)
        xls_update_value_only(sheet_URENAMURENAS, 3, 16,
                              report.urenam_report.o59_total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 4, 16,
                              report.urenam_report.o59_new_cases)
        xls_update_value_only(sheet_URENAMURENAS, 7, 16,
                              report.urenam_report.o59_returned)
        xls_update_value_only(sheet_URENAMURENAS, 10, 16,
                              report.urenam_report.o59_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 11, 16,
                              report.urenam_report.o59_total_in_m)
        xls_update_value_only(sheet_URENAMURENAS, 12, 16,
                              report.urenam_report.o59_total_in_f)
        xls_update_value_only(sheet_URENAMURENAS, 14, 16,
                              report.urenam_report.o59_grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 1, 31,
                              report.urenam_report.o59_healed)
        xls_update_value_only(sheet_URENAMURENAS, 3, 31,
                              report.urenam_report.o59_deceased)
        xls_update_value_only(sheet_URENAMURENAS, 5, 31,
                              report.urenam_report.o59_abandon)
        xls_update_value_only(sheet_URENAMURENAS, 7, 31,
                              report.urenam_report.o59_not_responding)
        xls_update_value_only(sheet_URENAMURENAS, 8, 31,
                              report.urenam_report.o59_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 10, 31,
                              report.urenam_report.o59_total_out_m)
        xls_update_value_only(sheet_URENAMURENAS, 11, 31,
                              report.urenam_report.o59_total_out_f)
        xls_update_value_only(sheet_URENAMURENAS, 12, 31,
                              report.urenam_report.o59_referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 31,
                              report.urenam_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 31,
                              report.urenam_report.o59_total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 31,
                              report.urenam_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 16, 31,
                              report.urenam_report.o59_total_end_m)
        xls_update_value_only(sheet_URENAMURENAS, 14, 31,
                              report.urenam_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 31,
                              report.urenam_report.o59_total_end_f)
        xls_update_value_only(sheet_URENAMURENAS, 1, 17,
                              report.urenam_report.pw_total_start)
        xls_update_value_only(sheet_URENAMURENAS, 3, 17,
                              report.urenam_report.pw_total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 4, 17,
                              report.urenam_report.pw_new_cases)
        xls_update_value_only(sheet_URENAMURENAS, 7, 17,
                              report.urenam_report.pw_returned)
        xls_update_value_only(sheet_URENAMURENAS, 10, 17,
                              report.urenam_report.pw_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 12, 17,
                              report.urenam_report.pw_total_in_f)
        xls_update_value_only(sheet_URENAMURENAS, 14, 17,
                              report.urenam_report.pw_grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 1, 32,
                              report.urenam_report.pw_healed)
        xls_update_value_only(sheet_URENAMURENAS, 3, 32,
                              report.urenam_report.pw_deceased)
        xls_update_value_only(sheet_URENAMURENAS, 5, 32,
                              report.urenam_report.pw_abandon)
        xls_update_value_only(sheet_URENAMURENAS, 7, 32,
                              report.urenam_report.pw_not_responding)
        xls_update_value_only(sheet_URENAMURENAS, 8, 32,
                              report.urenam_report.pw_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 11, 32,
                              report.urenam_report.pw_total_out_f)
        xls_update_value_only(sheet_URENAMURENAS, 12, 32,
                              report.urenam_report.pw_referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 32,
                              report.urenam_report.pw_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 32,
                              report.urenam_report.pw_total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 32,
                              report.urenam_report.pw_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 32,
                              report.urenam_report.pw_total_end_f)
        xls_update_value_only(sheet_URENAMURENAS, 1, 18,
                              report.urenam_report.exsam_total_start)
        xls_update_value_only(sheet_URENAMURENAS, 2, 18,
                              report.urenam_report.exsam_total_start_m)
        xls_update_value_only(sheet_URENAMURENAS, 3, 18,
                              report.urenam_report.exsam_total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 14, 18,
                              report.urenam_report.exsam_grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 12, 33,
                              report.urenam_report.exsam_referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 33,
                              report.urenam_report.exsam_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 33,
                              report.urenam_report.exsam_total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 33,
                              report.urenam_report.exsam_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 16, 33,
                              report.urenam_report.exsam_total_end_m)
        xls_update_value_only(sheet_URENAMURENAS, 14, 33,
                              report.urenam_report.exsam_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 33,
                              report.urenam_report.exsam_total_end_f)
        #####
        xls_update_value_only(sheet_URENAMURENAS, 1, 19,
                              report.urenam_report.total_start)
        xls_update_value_only(sheet_URENAMURENAS, 2, 19,
                              report.urenam_report.total_start_m)
        xls_update_value_only(sheet_URENAMURENAS, 3, 19,
                              report.urenam_report.total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 4, 19,
                              report.urenam_report.new_cases)
        xls_update_value_only(sheet_URENAMURENAS, 7, 19,
                              report.urenam_report.returned)
        xls_update_value_only(sheet_URENAMURENAS, 10, 19,
                              report.urenam_report.total_in)
        xls_update_value_only(sheet_URENAMURENAS, 11, 19,
                              report.urenam_report.total_in_m)
        xls_update_value_only(sheet_URENAMURENAS, 12, 19,
                              report.urenam_report.total_in_f)
        xls_update_value_only(sheet_URENAMURENAS, 14, 19,
                              report.urenam_report.grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 1, 34,
                              report.urenam_report.healed)
        xls_update_value_only(sheet_URENAMURENAS, 3, 34,
                              report.urenam_report.deceased)
        xls_update_value_only(sheet_URENAMURENAS, 5, 34,
                              report.urenam_report.abandon)
        xls_update_value_only(sheet_URENAMURENAS, 7, 34,
                              report.urenam_report.not_responding)
        xls_update_value_only(sheet_URENAMURENAS, 8, 34,
                              report.urenam_report.total_out)
        xls_update_value_only(sheet_URENAMURENAS, 10, 34,
                              report.urenam_report.total_out_m)
        xls_update_value_only(sheet_URENAMURENAS, 11, 34,
                              report.urenam_report.total_out_f)
        xls_update_value_only(sheet_URENAMURENAS, 12, 34,
                              report.urenam_report.referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 34,
                              report.urenam_report.grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 34,
                              report.urenam_report.total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 34,
                              report.urenam_report.grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 16, 34,
                              report.urenam_report.total_end_m)
        xls_update_value_only(sheet_URENAMURENAS, 14, 34,
                              report.urenam_report.grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 34,
                              report.urenam_report.total_end_f)

    # URENAS
    if report.urenas_report:
        xls_update_value_only(sheet_URENAMURENAS, 1, 10,
                              report.urenas_report.u59o6_total_start)
        xls_update_value_only(sheet_URENAMURENAS, 2, 10,
                              report.urenas_report.u59o6_total_start_m)
        xls_update_value_only(sheet_URENAMURENAS, 3, 10,
                              report.urenas_report.u59o6_total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 4, 10,
                              report.urenas_report.u59o6_new_cases)
        xls_update_value_only(sheet_URENAMURENAS, 7, 10,
                              report.urenas_report.u59o6_returned)
        xls_update_value_only(sheet_URENAMURENAS, 10, 10,
                              report.urenas_report.u59o6_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 11, 10,
                              report.urenas_report.u59o6_total_in_m)
        xls_update_value_only(sheet_URENAMURENAS, 12, 10,
                              report.urenas_report.u59o6_total_in_f)
        xls_update_value_only(sheet_URENAMURENAS, 13, 10,
                              report.urenas_report.u59o6_transferred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 10,
                              report.urenas_report.u59o6_grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 1, 25,
                              report.urenas_report.u59o6_healed)
        xls_update_value_only(sheet_URENAMURENAS, 3, 25,
                              report.urenas_report.u59o6_deceased)
        xls_update_value_only(sheet_URENAMURENAS, 5, 25,
                              report.urenas_report.u59o6_abandon)
        xls_update_value_only(sheet_URENAMURENAS, 7, 25,
                              report.urenas_report.u59o6_not_responding)
        xls_update_value_only(sheet_URENAMURENAS, 8, 25,
                              report.urenas_report.u59o6_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 10, 25,
                              report.urenas_report.u59o6_total_out_m)
        xls_update_value_only(sheet_URENAMURENAS, 11, 25,
                              report.urenas_report.u59o6_total_out_f)
        xls_update_value_only(sheet_URENAMURENAS, 12, 25,
                              report.urenas_report.u59o6_referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 25,
                              report.urenas_report.u59o6_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 25,
                              report.urenas_report.u59o6_total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 25,
                              report.urenas_report.u59o6_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 16, 25,
                              report.urenas_report.u59o6_total_end_m)
        xls_update_value_only(sheet_URENAMURENAS, 14, 25,
                              report.urenas_report.u59o6_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 25,
                              report.urenas_report.u59o6_total_end_f)
        xls_update_value_only(sheet_URENAMURENAS, 1, 11,
                              report.urenas_report.o59_total_start)
        xls_update_value_only(sheet_URENAMURENAS, 2, 11,
                              report.urenas_report.o59_total_start_m)
        xls_update_value_only(sheet_URENAMURENAS, 3, 11,
                              report.urenas_report.o59_total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 4, 11,
                              report.urenas_report.o59_new_cases)
        xls_update_value_only(sheet_URENAMURENAS, 7, 11,
                              report.urenas_report.o59_returned)
        xls_update_value_only(sheet_URENAMURENAS, 10, 11,
                              report.urenas_report.o59_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 11, 11,
                              report.urenas_report.o59_total_in_m)
        xls_update_value_only(sheet_URENAMURENAS, 12, 11,
                              report.urenas_report.o59_total_in_f)
        xls_update_value_only(sheet_URENAMURENAS, 13, 11,
                              report.urenas_report.o59_transferred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 11,
                              report.urenas_report.o59_grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 1, 26,
                              report.urenas_report.o59_healed)
        xls_update_value_only(sheet_URENAMURENAS, 3, 26,
                              report.urenas_report.o59_deceased)
        xls_update_value_only(sheet_URENAMURENAS, 5, 26,
                              report.urenas_report.o59_abandon)
        xls_update_value_only(sheet_URENAMURENAS, 7, 26,
                              report.urenas_report.o59_not_responding)
        xls_update_value_only(sheet_URENAMURENAS, 8, 26,
                              report.urenas_report.o59_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 10, 26,
                              report.urenas_report.o59_total_out_m)
        xls_update_value_only(sheet_URENAMURENAS, 11, 26,
                              report.urenas_report.o59_total_out_f)
        xls_update_value_only(sheet_URENAMURENAS, 12, 26,
                              report.urenas_report.o59_referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 26,
                              report.urenas_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 26,
                              report.urenas_report.o59_total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 26,
                              report.urenas_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 16, 26,
                              report.urenas_report.o59_total_end_m)
        xls_update_value_only(sheet_URENAMURENAS, 14, 26,
                              report.urenas_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 26,
                              report.urenas_report.o59_total_end_f)
        xls_update_value_only(sheet_URENAMURENAS, 1, 12,
                              report.urenas_report.total_start)
        xls_update_value_only(sheet_URENAMURENAS, 2, 12,
                              report.urenas_report.total_start_m)
        xls_update_value_only(sheet_URENAMURENAS, 3, 12,
                              report.urenas_report.total_start_f)
        xls_update_value_only(sheet_URENAMURENAS, 4, 12,
                              report.urenas_report.new_cases)
        xls_update_value_only(sheet_URENAMURENAS, 7, 12,
                              report.urenas_report.returned)
        xls_update_value_only(sheet_URENAMURENAS, 10, 12,
                              report.urenas_report.total_in)
        xls_update_value_only(sheet_URENAMURENAS, 11, 12,
                              report.urenas_report.total_in_m)
        xls_update_value_only(sheet_URENAMURENAS, 12, 12,
                              report.urenas_report.total_in_f)
        xls_update_value_only(sheet_URENAMURENAS, 14, 12,
                              report.urenas_report.grand_total_in)
        xls_update_value_only(sheet_URENAMURENAS, 1, 27,
                              report.urenas_report.healed)
        xls_update_value_only(sheet_URENAMURENAS, 3, 27,
                              report.urenas_report.deceased)
        xls_update_value_only(sheet_URENAMURENAS, 5, 27,
                              report.urenas_report.abandon)
        xls_update_value_only(sheet_URENAMURENAS, 7, 27,
                              report.urenas_report.not_responding)
        xls_update_value_only(sheet_URENAMURENAS, 8, 27,
                              report.urenas_report.total_out)
        xls_update_value_only(sheet_URENAMURENAS, 10, 27,
                              report.urenas_report.total_out_m)
        xls_update_value_only(sheet_URENAMURENAS, 11, 27,
                              report.urenas_report.total_out_f)
        xls_update_value_only(sheet_URENAMURENAS, 12, 27,
                              report.urenas_report.referred)
        xls_update_value_only(sheet_URENAMURENAS, 14, 27,
                              report.urenas_report.grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 15, 27,
                              report.urenas_report.total_end)
        xls_update_value_only(sheet_URENAMURENAS, 14, 27,
                              report.urenas_report.grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 16, 27,
                              report.urenas_report.total_end_m)
        xls_update_value_only(sheet_URENAMURENAS, 14, 27,
                              report.urenas_report.grand_total_out)
        xls_update_value_only(sheet_URENAMURENAS, 17, 27,
                              report.urenas_report.total_end_f)

    # URENI
    if report.ureni_report:
        xls_update_value_only(sheet_URENI, 1, 10,
                              report.ureni_report.u6_total_start)
        xls_update_value_only(sheet_URENI, 2, 10,
                              report.ureni_report.u6_total_start_m)
        xls_update_value_only(sheet_URENI, 3, 10,
                              report.ureni_report.u6_total_start_f)
        xls_update_value_only(sheet_URENI, 4, 10,
                              report.ureni_report.u6_new_cases)
        xls_update_value_only(sheet_URENI, 7, 10,
                              report.ureni_report.u6_returned)
        xls_update_value_only(sheet_URENI, 10, 10,
                              report.ureni_report.u6_total_in)
        xls_update_value_only(sheet_URENI, 11, 10,
                              report.ureni_report.u6_total_in_m)
        xls_update_value_only(sheet_URENI, 12, 10,
                              report.ureni_report.u6_total_in_f)
        xls_update_value_only(sheet_URENI, 13, 10,
                              report.ureni_report.u6_transferred)
        xls_update_value_only(sheet_URENI, 14, 10,
                              report.ureni_report.u6_grand_total_in)
        xls_update_value_only(sheet_URENI, 1, 19,
                              report.ureni_report.u6_healed)
        xls_update_value_only(sheet_URENI, 3, 19,
                              report.ureni_report.u6_deceased)
        xls_update_value_only(sheet_URENI, 5, 19,
                              report.ureni_report.u6_abandon)
        xls_update_value_only(sheet_URENI, 7, 19,
                              report.ureni_report.u6_not_responding)
        xls_update_value_only(sheet_URENI, 8, 19,
                              report.ureni_report.u6_total_out)
        xls_update_value_only(sheet_URENI, 10, 19,
                              report.ureni_report.u6_total_out_m)
        xls_update_value_only(sheet_URENI, 11, 19,
                              report.ureni_report.u6_total_out_f)
        xls_update_value_only(sheet_URENI, 12, 19,
                              report.ureni_report.u6_referred)
        xls_update_value_only(sheet_URENI, 14, 19,
                              report.ureni_report.u6_grand_total_out)
        xls_update_value_only(sheet_URENI, 15, 19,
                              report.ureni_report.u6_total_end)
        xls_update_value_only(sheet_URENI, 14, 19,
                              report.ureni_report.u6_grand_total_out)
        xls_update_value_only(sheet_URENI, 16, 19,
                              report.ureni_report.u6_total_end_m)
        xls_update_value_only(sheet_URENI, 14, 19,
                              report.ureni_report.u6_grand_total_out)
        xls_update_value_only(sheet_URENI, 17, 19,
                              report.ureni_report.u6_total_end_f)
        xls_update_value_only(sheet_URENI, 1, 11,
                              report.ureni_report.u59o6_total_start)
        xls_update_value_only(sheet_URENI, 2, 11,
                              report.ureni_report.u59o6_total_start_m)
        xls_update_value_only(sheet_URENI, 3, 11,
                              report.ureni_report.u59o6_total_start_f)
        xls_update_value_only(sheet_URENI, 4, 11,
                              report.ureni_report.u59o6_new_cases)
        xls_update_value_only(sheet_URENI, 7, 11,
                              report.ureni_report.u59o6_returned)
        xls_update_value_only(sheet_URENI, 10, 11,
                              report.ureni_report.u59o6_total_in)
        xls_update_value_only(sheet_URENI, 11, 11,
                              report.ureni_report.u59o6_total_in_m)
        xls_update_value_only(sheet_URENI, 12, 11,
                              report.ureni_report.u59o6_total_in_f)
        xls_update_value_only(sheet_URENI, 13, 11,
                              report.ureni_report.u59o6_transferred)
        xls_update_value_only(sheet_URENI, 14, 11,
                              report.ureni_report.u59o6_grand_total_in)
        xls_update_value_only(sheet_URENI, 1, 20,
                              report.ureni_report.u59o6_healed)
        xls_update_value_only(sheet_URENI, 3, 20,
                              report.ureni_report.u59o6_deceased)
        xls_update_value_only(sheet_URENI, 5, 20,
                              report.ureni_report.u59o6_abandon)
        xls_update_value_only(sheet_URENI, 7, 20,
                              report.ureni_report.u59o6_not_responding)
        xls_update_value_only(sheet_URENI, 8, 20,
                              report.ureni_report.u59o6_total_out)
        xls_update_value_only(sheet_URENI, 10, 20,
                              report.ureni_report.u59o6_total_out_m)
        xls_update_value_only(sheet_URENI, 11, 20,
                              report.ureni_report.u59o6_total_out_f)
        xls_update_value_only(sheet_URENI, 12, 20,
                              report.ureni_report.u59o6_referred)
        xls_update_value_only(sheet_URENI, 14, 20,
                              report.ureni_report.u59o6_grand_total_out)
        xls_update_value_only(sheet_URENI, 15, 20,
                              report.ureni_report.u59o6_total_end)
        xls_update_value_only(sheet_URENI, 14, 20,
                              report.ureni_report.u59o6_grand_total_out)
        xls_update_value_only(sheet_URENI, 16, 20,
                              report.ureni_report.u59o6_total_end_m)
        xls_update_value_only(sheet_URENI, 14, 20,
                              report.ureni_report.u59o6_grand_total_out)
        xls_update_value_only(sheet_URENI, 17, 20,
                              report.ureni_report.u59o6_total_end_f)
        xls_update_value_only(sheet_URENI, 1, 12,
                              report.ureni_report.o59_total_start)
        xls_update_value_only(sheet_URENI, 2, 12,
                              report.ureni_report.o59_total_start_m)
        xls_update_value_only(sheet_URENI, 3, 12,
                              report.ureni_report.o59_total_start_f)
        xls_update_value_only(sheet_URENI, 4, 12,
                              report.ureni_report.o59_new_cases)
        xls_update_value_only(sheet_URENI, 7, 12,
                              report.ureni_report.o59_returned)
        xls_update_value_only(sheet_URENI, 10, 12,
                              report.ureni_report.o59_total_in)
        xls_update_value_only(sheet_URENI, 11, 12,
                              report.ureni_report.o59_total_in_m)
        xls_update_value_only(sheet_URENI, 12, 12,
                              report.ureni_report.o59_total_in_f)
        xls_update_value_only(sheet_URENI, 13, 12,
                              report.ureni_report.o59_transferred)
        xls_update_value_only(sheet_URENI, 14, 12,
                              report.ureni_report.o59_grand_total_in)
        xls_update_value_only(sheet_URENI, 1, 21,
                              report.ureni_report.o59_healed)
        xls_update_value_only(sheet_URENI, 3, 21,
                              report.ureni_report.o59_deceased)
        xls_update_value_only(sheet_URENI, 5, 21,
                              report.ureni_report.o59_abandon)
        xls_update_value_only(sheet_URENI, 7, 21,
                              report.ureni_report.o59_not_responding)
        xls_update_value_only(sheet_URENI, 8, 21,
                              report.ureni_report.o59_total_out)
        xls_update_value_only(sheet_URENI, 10, 21,
                              report.ureni_report.o59_total_out_m)
        xls_update_value_only(sheet_URENI, 11, 21,
                              report.ureni_report.o59_total_out_f)
        xls_update_value_only(sheet_URENI, 12, 21,
                              report.ureni_report.o59_referred)
        xls_update_value_only(sheet_URENI, 14, 21,
                              report.ureni_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENI, 15, 21,
                              report.ureni_report.o59_total_end)
        xls_update_value_only(sheet_URENI, 14, 21,
                              report.ureni_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENI, 16, 21,
                              report.ureni_report.o59_total_end_m)
        xls_update_value_only(sheet_URENI, 14, 21,
                              report.ureni_report.o59_grand_total_out)
        xls_update_value_only(sheet_URENI, 17, 21,
                              report.ureni_report.o59_total_end_f)
        xls_update_value_only(sheet_URENI, 1, 13,
                              report.ureni_report.total_start)
        xls_update_value_only(sheet_URENI, 2, 13,
                              report.ureni_report.total_start_m)
        xls_update_value_only(sheet_URENI, 3, 13,
                              report.ureni_report.total_start_f)
        xls_update_value_only(sheet_URENI, 4, 13,
                              report.ureni_report.new_cases)
        xls_update_value_only(sheet_URENI, 7, 13,
                              report.ureni_report.returned)
        xls_update_value_only(sheet_URENI, 10, 13,
                              report.ureni_report.total_in)
        xls_update_value_only(sheet_URENI, 11, 13,
                              report.ureni_report.total_in_m)
        xls_update_value_only(sheet_URENI, 12, 13,
                              report.ureni_report.total_in_f)
        xls_update_value_only(sheet_URENI, 14, 13,
                              report.ureni_report.grand_total_in)
        xls_update_value_only(sheet_URENI, 1, 22,
                              report.ureni_report.healed)
        xls_update_value_only(sheet_URENI, 3, 22,
                              report.ureni_report.deceased)
        xls_update_value_only(sheet_URENI, 5, 22,
                              report.ureni_report.abandon)
        xls_update_value_only(sheet_URENI, 7, 22,
                              report.ureni_report.not_responding)
        xls_update_value_only(sheet_URENI, 8, 22,
                              report.ureni_report.total_out)
        xls_update_value_only(sheet_URENI, 10, 22,
                              report.ureni_report.total_out_m)
        xls_update_value_only(sheet_URENI, 11, 22,
                              report.ureni_report.total_out_f)
        xls_update_value_only(sheet_URENI, 12, 22,
                              report.ureni_report.referred)
        xls_update_value_only(sheet_URENI, 14, 22,
                              report.ureni_report.grand_total_out)
        xls_update_value_only(sheet_URENI, 15, 22,
                              report.ureni_report.total_end)
        xls_update_value_only(sheet_URENI, 14, 22,
                              report.ureni_report.grand_total_out)
        xls_update_value_only(sheet_URENI, 16, 22,
                              report.ureni_report.total_end_m)
        xls_update_value_only(sheet_URENI, 14, 22,
                              report.ureni_report.grand_total_out)
        xls_update_value_only(sheet_URENI, 17, 22,
                              report.ureni_report.total_end_f)

    stream = StringIO.StringIO()
    copy_week_b.save(stream)

    return stream