Tag: openpyxl

openpyxl页面设置“适合”vs“调整为”

我试图将我的工作表设置为使用openpyxl自动适应一个页面上的所有列。 我已经接近这个方法是设置fitToWidth属性和fitToHeight属性。 到目前为止,我可以修改页面设置为fitToWidth值为1,fitToHeight值为0,但是当我打开电子表格时,它仍然在“调整到”select,而不是“适合”select,其中fitToWidth和fitToHeight值已被应用。 如何在页面设置中将该选项更改为“适合”而不是“调整为”? 我认为这需要是False的PageSetup.zoom属性,但我无法弄清楚如何用openpyxl做到这一点。 这是关于它的MSDN文章: https : //msdn.microsoft.com/en-us/library/office/ff197028.aspx 这是我的代码到目前为止: from openpyxl import load_workbook wb = load_workbook('test.xlsx') ws.page_setup.orientation = ws.ORIENTATION_LANDSCAPE ws.page_setup.fitToWidth = 1 ws.page_setup.fitToHeight = 0 ws.sheet_view.view = "pageLayout" 谢谢!

OpenPyXL文字环绕不适用

我明白这是非常具体的问题,但有任何人遇到任何问题使用OpenPyXL的文字环绕function? 我将其应用于每个单元格,同时遍历多行,但似乎没有任何效果? 随意就代码结构提出任何其他build议。 for row in ws.iter_rows('A2:D1000'): for cell in row: if end != True: cell.style.alignment.wrap_text = True cell.value = array[x] print ("Line: " + str(x)) x += 1 try: end = array[x] except: end = True

如何使用openpyxl在XLSX文件中逐个单元格插入和格式化值

我正在尝试使用openpyxl模块编写一个XLSX文件。 我正在使用append()方法逐行插入值。 但是我想要逐个单元格插入值。 我也想格式化单元格(字体,颜色,alignment等)。 请帮帮我。

openpyxl:将数据追加到第一个空列单元

背景: 我有一个Excel工作簿,其中包含遍布各种工作表的元数据。 我需要从各种工作表中获取相关的数据列,并将它们合并到一个工作表中。 使用下面的代码,我已经能够创build一个新的工作表并向其中添加数据。 # Open workbook and assign worksheet try: wb = openpyxl.load_workbook(metadata) shtEditionLNM = wb.worksheets[0] # Edition date & latest NM shtChartsTitles = wb.worksheets[1] # Charts & Titles shtDepthHeight = wb.worksheets[4] # Depth & heights shtChartProj = wb.worksheets[7] # Chart Projection except: raise SystemExit(0) new = wb.create_sheet() new.title = "MT_CHARTS INFO" new.sheet_properties.tabColor = […]

在python openpyxl中locking一些单元格进行编辑

我正在使用openpyxl来处理Microsoft Excel文件(.xlsx / .xlsm),但是我正在努力locking单元格(即防止编辑)。 我目前的代码是这样的: lock = Protection(locked=True, hidden=False) ws['A1'].protection = lock # ws is my worksheet 但是,我仍然可以编辑单元格A1 。 我该如何解决? 编辑: 这个链接 (到一个openpyxl电子邮件链)build议locking整个工作表,然后解锁所有的单元格,但为A1 。 然而,这看起来不是一个可靠的解决scheme,因为我将倾销大量的数据。

在For循环,Python中dynamic创buildvariables

我正在尝试在一个计数的dynamic循环中创buildvariables。 我正在使用openpyxl模块遍历工作表。 value = ~sheet name after using a loop to iterate over sheet names~ wb = (path_to_workbook, use_iterators = True) ws = wb.get_sheet_by_name(name = value) for a,b,c,d in ws.iter_rows(): print a.internal_value 问题是,for循环中variables的数量取决于每个表中有多less个活动列,这些列在表之间变化。 它会吐出这个错误: “解包太多值” 如果我没有正确数量的variables来解压缩。 我可以通过使用以下列来计算列数: ws.get_highest_column() 所以,不知何故我需要做一个: for ~dynamically create variables by count of columns~ in ws.iter_rows(): print variable1.internal_value 我看到一些使用exec的post,但是我没有任何经验,而且我似乎总是读到它是如何让你陷入麻烦的。

Python – 自动调整Excel文件列的宽度

新手 – 我有一个Python脚本,根据指定的值调整Excel文件的不同列的宽度: import openpyxl from string import ascii_uppercase newFile = "D:\Excel Files\abc.xlsx" wb = openpyxl.load_workbook(filename = newFile) worksheet = wb.active for column in ascii_uppercase: if (column=='A'): worksheet.column_dimensions[column].width = 30 elif (column=='B'): worksheet.column_dimensions[column].width = 40 elif (column=='G'): worksheet.column_dimensions[column].width = 45 else: worksheet.column_dimensions[column].width = 15 wb.save(newFile) 有没有什么办法可以通过我们可以调整每个列的宽度,以最佳的价值,没有明确指定为不同的列(手段,而不使用此“ if-elif-elif -……- elif-else “ 结构体)? 谢谢!

如何写超链接到本地​​图片到openpyxl中的单元格?

我使用Python 2.7.3我需要编写超链接到本地​​图片到openpyxl库的单元格。 当我需要添加超链接到网站我写这样的东西: 从openpyxl导入工作簿 wb = Workbook() dest_filename = r'empty_book.xlsx' ws = wb.worksheets[0] ws.title = 'Name' hyperlink to local picture ws.cell('B1').hyperlink = ('http://pythonhosted.org/openpyxl/api.html') hyperlink to local picture ws.cell('B2').hyperlink = ('1.png') # It doesn't work! wb.save(filename = dest_filename) 我有3个问题: 我们如何编写超链接,如VBA的风格的function: ActiveCell.FormulaR1C1 = _ "=HYPERLINK(""http://stackoverflow.com/questions/ask"",""site"")"与hyherlink和她的名字 我们如何写超链接到本地​​图像? ws.cell('B2').hyperlink = ('1.png') # It doesn't work! And I don't now […]

在excep中使用read_only在openpyxl中读取300k单元不够

我在这里读了很多关于使用openpyxl读取大型excel文件和load_workbook()中的read_only param的问题,并且我已经用源码excex 50×30成功地完成了它,但是当我尝试在工作簿上使用30×1100表,它摊位。 现在,它只是在Excel中读取并将其传输到multidimensional array。 from openpyxl import Workbook from openpyxl import load_workbook def transferCols(refws,mx,refCol,newCol,header): rmax = refws.max_row for r in range(1, rmax+1): if (r == 1): mx[r-1][newCol-1] = header else: mx[r-1][newCol-1] = refws.cell(row = r, column = refCol).value return ref_wb = load_workbook("UESfull.xlsx", read_only= True) ref_ws = ref_wb.active rmax = ref_ws.max_row matrix = [["fill" for […]

通过大数据列表的openpyxl Python迭代

我有一个大型的45000行45列的Excel工作簿。 我想遍历列寻找重复和独特的项目,并花了很长的时间去通过单个列。 有无论如何优化我的代码或使这个更快? 我要么打印信息,要么保存到txt文件。 我在Windows 10和Python 2.7中使用openpyxl模块: from openpyxl import load_workbook, worksheet, Workbook import os #read work book to get data wb = load_workbook(filename = 'file.xlsx', use_iterators = True) ws = wb.get_sheet_by_name(name = 'file') wb = load_workbook(filename='file.xlsx', read_only=True) count = 0 seen = set() uniq = [] for cell in ws.columns[0]: if cell not in […]