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