我正在尝试从一个用elementtree格式化为XML的Excel文件中移动数据,其中一些单元格有一个与它们相关联的超链接,我也想移动它们。你知道吗
输入如下:
<Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x="urn:schemas-microsoft-com:office:excel">
<Table x:FullColumns="1" x:FullRows="1">
<Row>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Change Order #]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Summary]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Change Type]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Status]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Sched Start]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Sched End]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Open Date]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Close Date]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Need By]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Category]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Risk]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Assignee]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Requester]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Priority]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[Parent]]></Data>
</Cell>
<Cell ss:StyleID="headerCenterWrap">
<Data ss:Type="String"><![CDATA[CAB Approver]]></Data>
</Cell>
</Row>
<Row>
<Cell ss:HRef="https://" ss:StyleID="string_url">
<Data ss:Type="String"><![CDATA[3392348]]></Data>
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String"><![CDATA[[] ASSET:]]></Data>
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String"><![CDATA[Assigned]]></Data>
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="date">
<Comment>
<Data><![CDATA[-05:00]]></Data>
</Comment>
<Data ss:Type="DateTime"><![CDATA[2019-04-25T09:31:54]]></Data>
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String"><![CDATA[3]]></Data>
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
<Cell ss:StyleID="string">
<Data ss:Type="String" />
</Cell>
</Row>
</Table>
</Workbook>
问题是我不知道如何引用超链接字符串,以便在新文件中应用超链接。你知道吗
它看起来像是存储在样式表信息中,这是elementtree可以做的吗?你知道吗
我试过浏览elementtree的文档,但没有找到任何相关的内容。你知道吗
i = 0
for row in allrows:
i += 1
# print(row.tag + ' ', i)
# Find all cells in this row
allcells = list(row.iter('{urn:schemas-microsoft-com:office:spreadsheet}Cell'))
# Start cell iteration here
j = 0
for cell in allcells:
j += 1
data = cell[0]
# print(cell.tag + ' ', j, data.text)
xworksheet.cell(row=i, column=j).value = data.text
xworksheet.cell(row=i, column=j).hyperlink = cell.hyperlink
这是它的要点,但是elementree没有.hyperlink
属性,所以它不工作。你知道吗
除了我正在使用的xml文件的奇怪格式之外,它的注释者MarkTolonen似乎是对的。你知道吗
你知道吗{urn:microsoft com架构:办公室:电子表格}HRef=“https://”
我只是要做单元格属性['{urn:microsoft com架构:办公室:电子表格}HRef']而不是单元格属性['HRef']
相关问题 更多 >
编程相关推荐