擅长:python、mysql、java
<p>我使用了一个特定的单元,而不是一系列的单元作为起点。更换</p>
<pre><code>last = excel.Range("A:A").End(XlDirectionDown)
</code></pre>
<p>与</p>
^{pr2}$
<p>但是,如果有任何空白单元格,它将在它之前停止。您可能需要使用<code>UsedRange()</code>。这将是包含所有单元格的最小范围,<em>根据Excel</em>:您可能会发现结果范围比AE(末尾包含空白列)更宽,并且在底部包含许多完全空白的行。但是,由于您希望以任何方式筛选出空白单元格,因此在筛选期间将跳过这些单元格。在</p>
<p>至于最后一行代码中的异常,这是因为End返回一个Range对象,并且不能将一个Range转换为string,或者如果可以的话,<code>str(last)</code>是一个范围,所以{<cd3>}将是一个无效的范围。在</p>
<p>至于过滤空白单元格,我不知道这意味着什么:当你把数据复制到文本文件中时,你会为空白单元格放什么?如果你有“空C”,你会把“A C”放进去吗?C将在数据库的错误列中结束。不管怎样,只是一些引起我注意的东西。在</p>
<p>win32com的文档没有一个单独的地方,尽管Python on Windows的书有很多信息,google给你的结果非常有用,包括sohits。每当我使用Excel COM(这并不是python的win32com所特有的)时,有一件事让我大吃一惊:工作簿中的每件事都是一个范围,你不能有一个单独的单元格,即使有些方法或属性可能会让你认为你得到的是一个单元格,实际上是一个范围,它通常需要一点额外的思考如何去获得所需的细胞。在</p>