0
为了动态获取excel文件中的物理图像路径,我必须使用下面的代码。使excel理解编码的xml格式
=LEFT(CELL("filename",A1),FIND("*",SUBSTITUTE(CELL("filename",A1),"\","*",LEN(CELL("filename",A1))-LEN(SUBSTITUTE(CELL("filename",A1),"\",""))),1))&"D04523.jpg"
但正如我的Excel文件是基于XML的格式urn:schemas-microsoft-com:office:spreadsheet
,我必须每"
双引号编码像下面。
=LEFT(CELL("filename",A1),FIND("*",SUBSTITUTE(CELL("filename",A1),"\","*",LEN(CELL("filename",A1))-LEN(SUBSTITUTE(CELL("filename",A1),"\",""))),1))&"D04523.jpg"
一切都在XML文件是正确的,但问题是excel文件不能解码"
。
下面是我可以在Excel应用程序中打开的XML文件。
<?xml version="1.0" encoding="utf-8"?>
<?mso-application progid="Excel.Sheet"?>
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<ss:Worksheet ss:Name="Sheet1">
<ss:Table>
<ss:Row>
<ss:Cell>
<ss:Data ss:Type="String">1</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">2</ss:Data>
</ss:Cell>
</ss:Row>
<ss:Row>
<!-- Error happen : An unexpected error has occured. -->
<ss:Cell
ss:HRef="=LEFT(CELL("filename",A1),FIND("*",SUBSTITUTE(CELL("filename",A1),"\","*",LEN(CELL("filename",A1))-LEN(SUBSTITUTE(CELL("filename",A1),"\",""))),1))&"D04523.jpg"">
<ss:Data ss:Type="String">View Image 1</ss:Data>
</ss:Cell>
<!-- This can view image when user click. But I don't want to use hard coded path.-->
<ss:Cell
ss:HRef="D:\05.Project\ExcelResearch\D04523.jpg">
<ss:Data ss:Type="String">View Image 2</ss:Data>
</ss:Cell>
</ss:Row>
</ss:Table>
</ss:Worksheet>
</ss:Workbook>
所以我的问题
我怎样才能让Excel来理解编码的公式?
或
如何修改xml文件以转义双引号"
?
我尝试使用斜杠,但不起作用。
是否有可能在你的喜好为Excel编码没有被设置为“UTF-8" ? – AMR