At July 17 A.
This commit is contained in:
parent
79e08afc92
commit
2e0ebf2962
|
@ -1,4 +1,5 @@
|
||||||
import os, re, openpyxl
|
import os, re, openpyxl
|
||||||
|
from openpyxl.cell import MergedCell
|
||||||
from openpyxl.utils import get_column_letter, column_index_from_string
|
from openpyxl.utils import get_column_letter, column_index_from_string
|
||||||
|
|
||||||
|
|
||||||
|
@ -131,6 +132,7 @@ class Excel:
|
||||||
if row < 0 or col < 0:
|
if row < 0 or col < 0:
|
||||||
raise Exception('行或列值必须大于等于0 | Row or column values must be at least 0.')
|
raise Exception('行或列值必须大于等于0 | Row or column values must be at least 0.')
|
||||||
cell_object = self.__workshet__.cell(row=row + 1, column=col + 1)
|
cell_object = self.__workshet__.cell(row=row + 1, column=col + 1)
|
||||||
|
cell_object = self._parseMergedCell(cell_object)
|
||||||
self.cellSelect(cell=cell_object)
|
self.cellSelect(cell=cell_object)
|
||||||
return cell_object.value
|
return cell_object.value
|
||||||
|
|
||||||
|
@ -141,6 +143,7 @@ class Excel:
|
||||||
if row < 0 or col < 0:
|
if row < 0 or col < 0:
|
||||||
raise Exception('行或列值必须大于等于0 | Row or column values must be at least 0.')
|
raise Exception('行或列值必须大于等于0 | Row or column values must be at least 0.')
|
||||||
cell_object = self.__workshet__.cell(row=row + 1, column=col + 1)
|
cell_object = self.__workshet__.cell(row=row + 1, column=col + 1)
|
||||||
|
cell_object = self._parseMergedCell(cell_object)
|
||||||
self.cellSelect(cell=cell_object)
|
self.cellSelect(cell=cell_object)
|
||||||
cell_object.value = value
|
cell_object.value = value
|
||||||
self.saveAuto()
|
self.saveAuto()
|
||||||
|
@ -259,10 +262,18 @@ class Excel:
|
||||||
for lineList in cellList:
|
for lineList in cellList:
|
||||||
lineResult = []
|
lineResult = []
|
||||||
for cellObject in lineList:
|
for cellObject in lineList:
|
||||||
lineResult.append(cellObject)
|
lineResult.append(self._parseMergedCell(cellObject))
|
||||||
result.append(lineResult)
|
result.append(lineResult)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def _parseMergedCell(self, cell):
|
||||||
|
if isinstance(cell, MergedCell):
|
||||||
|
for mergeArea in self.__workshet__.merged_cells.ranges:
|
||||||
|
if cell.coordinate in mergeArea:
|
||||||
|
cell = self.__workshet__.cell(row=mergeArea.min_row, column=mergeArea.min_col)
|
||||||
|
return cell
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# Example.
|
# Example.
|
||||||
# 创建新的Excel文件
|
# 创建新的Excel文件
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
def json_encode(data, indent=None):
|
||||||
|
return json.dumps(data, indent=indent)
|
||||||
|
|
||||||
|
|
||||||
|
def json_decode(data):
|
||||||
|
return json.loads(data)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# Example.
|
||||||
|
data_encode = {"id": 101, "name": "小明", "friends": ["小红", "小花"]}
|
||||||
|
data_decode = """
|
||||||
|
{"id": 101, "name": "\u5c0f\u660e", "friends": ["\u5c0f\u7ea2", "\u5c0f\u82b1"]}
|
||||||
|
"""
|
||||||
|
print(json_encode(data_encode))
|
||||||
|
print(json_encode(data_encode, indent=4))
|
||||||
|
print(json_decode(data_decode))
|
|
@ -0,0 +1,26 @@
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
|
||||||
|
def yaml_encode(data, indent=None):
|
||||||
|
return yaml.dump(data, indent=indent, allow_unicode=True, sort_keys=False)
|
||||||
|
|
||||||
|
|
||||||
|
def yaml_decode(data):
|
||||||
|
return yaml.load(data, Loader=yaml.FullLoader)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# Example.
|
||||||
|
data_encode = {"id": 101, "name": "小明", "friends": ["小红", "小花"], "list": {"a": 1, "b": 5}}
|
||||||
|
data_decode = """
|
||||||
|
id: 101
|
||||||
|
name: 小明
|
||||||
|
friends:
|
||||||
|
- 小红
|
||||||
|
- 小花
|
||||||
|
list:
|
||||||
|
a: 1
|
||||||
|
b: 5
|
||||||
|
"""
|
||||||
|
print(yaml_encode(data_encode))
|
||||||
|
print(yaml_decode(data_decode))
|
|
@ -0,0 +1,14 @@
|
||||||
|
from Base.Class.Excel import *
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
# Example.
|
||||||
|
# 打开现有Excel文件
|
||||||
|
excel = Excel().open(filename='./example.xlsx')
|
||||||
|
excel.select(2)
|
||||||
|
# print(excel.cellGetView('A1:C9'))
|
||||||
|
# print(excel.cellGetView('1:9'))
|
||||||
|
|
||||||
|
print(excel.cellGetView('1:9'))
|
||||||
|
# excel.save()
|
||||||
|
# print(excel.cellGetView(area='F6:F11'))
|
Loading…
Reference in New Issue