繁体   English   中英

如何扫描所有单元格

[英]How to scan all sheet cells

我想使用win32com for python扫描excel表格单元格并保存单元格位置及其值的字典。

有没有一种有效的方法来扫描工作表? 意思是,扫描尽可能少的单元格,但仍然使用数据/值扫描所有单元格并忽略远处的单元格。

我以前使用openpyxl ,每个工作表都有一个self.max_rowself.max_column参数。 是否有类似的参数或计算它们的好方法?

尝试这样的事情怎么样......

end_row = ActiveSheet.UsedRange.Rows.Count
end_column = ActiveSheet.UsedRange.Columns.Count

如果你有一个非常大的范围,你打算通过,我建议尝试通过COM层一次性地将一系列单元格转换为Python来最小化来回。

我记录了一些我跑进了一段时间后的东西在这里

我之前写作的主要提示:

# Take many values at once rather than reading each individually
end_num = sh.UsedRange.Rows.Count
col_a = sh.Range(xl.Cells(1, 1), xl.Cells(end_num, 1)).Value

# The magic numbers to turn calculation on and off
xlCalculationManual = -4135
xlCalculationAutomatic = -4105

# Turn calculation to manual
xl.Calculation = xlCalculationManual

# Turn screen updating off
xl.ScreenUpdating = False

# RUN YOUR CODE HERE #

# Turn things back on when done
xl.ScreenUpdating = True
xl.Calculation = xlCalculationAutomatic

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM