0

私はExcelシートを持っていて、それにデータを書き込もうとしています。私のシートはテンプレートとして機能し、書き込み後にファイルを別の名前で保存します。移入のための私のpythonコードはこのようなものです

# -*- coding: utf-8 -*-
import json
import xlrd
from xlutils.copy import copy
import os

book = xlrd.open_workbook('file.xls',formatting_info=True)
wb = copy(book)
sheet1=wb.get_sheet(0)

def _getOutCell(outSheet, colIndex, rowIndex):
    """ HACK: Extract the internal xlwt cell representation. """
    row = outSheet._Worksheet__rows.get(rowIndex)
    if not row: return None

    cell = row._Row__cells.get(colIndex)
    return cell

def setOutCell(outSheet, col, row, value):
    """ Change cell value without changing formatting. """
    # HACK to retain cell style.
    previousCell = _getOutCell(outSheet, col, row)
    # END HACK, PART I

    outSheet.write(row, col, value)

    # HACK, PART II
    if previousCell:
        newCell = _getOutCell(outSheet, col, row)
        if newCell:
            newCell.xf_idx = previousCell.xf_idx
    # END HACK

# Populate the data 
setOutSheet(sheet1,2,3,value)


# Save the file
wb.save("test.xls")

コードを実行した後、Excel シートの境界線がゆがみ、データが正しく入力されません。コピー(本)自体の行でシートが破損していることがわかったので、誰でもこれを解決することができます。出力画像を取得した後のスクリーンショットのリンクは次のとおりです

4

0 に答える 0