问题名称可能有点混乱,所以我会尝试清除它。我有一个包含一些产品的数据库,以及一个生成 Excel xml 文件的系统,用于导出这些产品及其价格。问题是,当数据库字段中有“&”字符(通常是产品名称)时,生成的 excel 文件“格式不正确”。另一件事是,数据库非常大,一些产品名称可能包含“中性化”& 字符(例如&
,或"
),但有些没有,所以我必须做一些类似 unescape 然后逃生才能得到我需要的。我已经尝试过
mysql_real_escape_string(htmlspecialchars($name));
但这似乎无济于事。任何帮助,将不胜感激。
编辑:也许这会有所帮助——我有一个定制的“系统”,可以将产品导出到 xls 文件。它们看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
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="Table1">
<Table>
<Column ss:Index="1" ss:AutoFitWidth="0" ss:Width="110"/>
<Row>
<Cell><Data ss:Type="String">Interna sifra</Data></Cell>
<Cell><Data ss:Type="String">Sifra</Data></Cell>
<Cell><Data ss:Type="String"> Naziv</Data></Cell>
<Cell><Data ss:Type="String">MP cena</Data></Cell>
<Cell><Data ss:Type="String">VP cena</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">5263</Data></Cell>
<Cell><Data ss:Type="String">03SL8733</Data></Cell>
<Cell><Data ss:Type="String">Speed Link slušalice sa mikrofonom IUNO Mono</Data></Cell>
<Cell><Data ss:Type="String">0.00</Data></Cell>
<Cell><Data ss:Type="String">733.04</Data></Cell>
</Row>
</Table>
</Worksheet>
</Workbook>
除了更多的行。它们是使用 php 生成的,方法是遍历数据库记录,并将所有行回显到 ExcelXML 文件中。我希望这现在更有意义。