无法打开电子表格

Failing to open spreadsheet

我目前正在将多个传播 sheet 和 运行 解析为打开其中一些的问题。产生的错误将我定向到文件 "Cell\text.py",该行位于将内容 属性 中的片段连接在一起的行。

workBook = openpyxl.load_workbook(filepath, True)

File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\reader\excel.py", line 191, in load_workbook

shared_strings = read_string_table(archive.read(strings_path))

File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\reader\strings.py", line 21, in read_string_table

text = Text.from_tree(node).content

File "C:\Python34\lib\site-packages\openpyxl-2.3.1-py3.4.egg\openpyxl\cell\text.py", line 182, in content

return "".join(snippets)

TypeError: sequence item 3: expected str instance, NoneType found

如果我更改代码以检查格式化部分中块的附加情况,如下所示:

for block in self.formatted:
        if(block.t is not None):                
            snippets.append(block.t)

它工作正常,我只是想知道 excel sheet 是否有一些明显的问题,我不明白有人可以解释一下。我还没有找到 openpyxl 的代码,所以我不确定是什么决定了 "self.formatted" 的内容,但是,我的猜测是它是由传播区域中的合并单元格引起的 sheet .

编辑

在阅读了您的评论后,我进一步深入了解是否有任何数据可以与您分享。我更新了内容 属性("Cell/Text.py") 以输出它试图加入的数据,并在 "sharedStrings.xml" 中搜索了 xml 数据。打印的数据是:

 ['“Replaced Data”', None]

查看 sharedStrings 文件后,包含此数据的 xml 是:

<si>
  <r>
    <t>“Replaced Data”</t>
  </r>
  <r>
    <rPr>
      <sz val="11"/>
      <color rgb="FF008080"/>
      <rFont val="Calibri"/>
      <family val="2"/>
      <scheme val="minor"/>
    </rPr>
  <t/>
  </r>
</si>

这与合并单元格无关,而是与文本的存储方式有关。您可以提交带有测试文件的错误报告吗?