是否有一种方法可以添加未转义的换行符或强制将换行符显示为$date1->diffInDays($date2);
,而无需LXML对其进行处理。显示表时,Excel XML文档不会考虑未转义的换行符。
这将输出
book = Element("Workbook", nsmap=nsmap)
sheet = Element("Worksheet")
sheet.set(SS + "Name", "Test")
table = Element("Table")
row = Element("Row")
cell = Element("Cell")
data = Element("Data")
data.set(SS + "Type", "String")
data.text = "Foo\nBar\nBaz"
cell.append(data)
row.append(cell)
table.append(row)
sheet.append(table)
book.append(sheet)
tostring(book,
encoding="utf-8",
method="xml",
doctype="<?mso-app...?>",
xml_declaration=True,
pretty_print=True)
,不幸的是,该
不能按预期呈现。 Excel希望看到它:
<?xml version...?>
<?mso-app...?>
<Workbook xmlns="..." ...>
<Worksheet ss:Name="Test">
<Table>
<Row>
<Cell>
<Data ss:Type="String">foo
bar
baz</Data>
</Cell>
...
</Workbook>
我已经尝试过this answer,但是使用BeautifulSoup要么删除xmlns属性(当使用lxml-xml解析器时,如答案所示),要么无法保留大小写(当使用lxml或html5lib解析器时) ,并且Excel对于使用titlecase元素和属性名称非常挑剔。