gpt4 book ai didi

xml - 如何使用 linq 保存 **EXCEL** XML 文件?

转载 作者:行者123 更新时间:2023-12-03 02:58:43 25 4
gpt4 key购买 nike

我正在使用 XElement 使用以下简介加载和保存 Excel XML 文件:

    Dim root As XElement = XElement.Load(inFile)
'code to change elements goes here
root.Save(outFile)

问题在于“保存”例程正在添加 namespace 标记以及谁知道什么,因此 Excel 和 Windows 不再将其识别为 Excel XML 文件。在我的示例中,我什至没有操作元素。我只是加载并保存文件。我基本上想使用 linq 查找 XML 中的某些元素,更改这些元素,然后保存整个文件。我是不是把这件事搞得太难了?

inFile XML

<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
<Worksheet ss:Name="Datagrid">
<Table ss:ExpandedColumnCount="13" ss:ExpandedRowCount="11" x:FullColumns="1"
x:FullRows="1" ss:DefaultRowHeight="15">
<Row ss:Index="3" ss:AutoFitHeight="0">
<Cell ecProperty="email_address">
<Data ss:Type="String">email address</Data>
</Cell>
</Row>
<Row ss:Index="4" ss:AutoFitHeight="0">
<Cell ecProperty="synthesis_mode">
<Data ss:Type="String">Ideal Mode</Data>
</Cell>
</Row>
</Table>
</Worksheet>
</Workbook>

输出文件结果

<?xml version="1.0" encoding="utf-8"?>
<ss:Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
<ss:Worksheet ss:Name="Datagrid">
<ss:Table ss:ExpandedColumnCount="13" ss:ExpandedRowCount="11" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15">
<ss:Row ss:Index="3" ss:AutoFitHeight="0">
<ss:Cell ecProperty="email_address">
<ss:Data ss:Type="String">email address</ss:Data>
</ss:Cell>
</ss:Row>
<ss:Row ss:Index="4" ss:AutoFitHeight="0">
<ss:Cell ecProperty="synthesis_mode">
<ss:Data ss:Type="String">Ideal Mode</ss:Data>
</ss:Cell>
</ss:Row>
</ss:Table>
</ss:Worksheet>
</ss:Workbook>

最佳答案

使用XDocument而不是 XElement 来保留完整文档。

Dim root As XDocument = XDocument.Load(inFile)
'code to change elements goes here
root.Save(outFile)

关于xml - 如何使用 linq 保存 **EXCEL** XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12010771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com